通过XMLHTTPRquest请求不同域上的数据,原来js跨域访问是后台有个处理路径“/test”的函数。下面把具体解决方案介绍如下。
后台处理路径“/test”的函数:
复制代码 代码如下:
//路径处理
app.get("/test",user.test);
//处理函数
exports.test=function(req,res){
res.end("alert('JS跨域访问')");
};
外部有一个网页需要访问路径”/test“下的内容,则可以通过JS脚本文件来跨域访问:
复制代码 代码如下:
//处理函数
<script>
function method(data){
console.log(data);
}
</script>
//跨域访问
<script src="/UploadFiles/2021-04-02/test">
结果会在当前的网页中弹出一个窗口:
jQuery中JSONP跨域访问的实现:
同样在后台有一个处理路径“/test”的函数:
//路径处理 app.get("/test",user.test); //处理函数 exports.test=function(req,res){ res.end("method("+JSON.stringify({mes:"跨域访问成功!"})+")"); }; 外部有一个网页需要访问路径”/test“下的内容,通过JSONP来实现跨域访问: //引入跨域访问中的jQuery函数库 <script src="/UploadFiles/2021-04-02/jquery-1.9.1.min.js">结果会在当前的网页中显示如下信息:
通过上述代码我们可以看出JSOPN跨域访问和原始的JS跨域访问的不同之处是JSONP不需要写处理跨域访问的函数(例如上述方法中使用的method函数),在JSONP跨域访问时会自动帮我们创建处理跨域访问的函数。
JSONP跨域访问的优点:
1.它不像XMLHTTPRequest对象实现的AJAX请求那样受到同源策略的限制;
2.它的兼容性更好,不需要XMLHTTPRequest或ActiveX的支持;
3.在请求完成后可以通过调用callback的方法传回结果。
JSONP跨域访问的缺点:
1.它只支持GET请求而不支持POST及其他类型的请求;
2.它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 群星2013-青春缤纷辑压箱宝大公开3CD2[新加坡限量版][WAV整轨]
- 林育群.2013-BalladShow(日本版)【环球】【WAV+CUE】
- 陈加洛.1992-痛到感觉不到【宝丽金】【WAV+CUE】
- 群星.2023-宿命之敌电视剧原声带【韶愔音乐】【FLAC分轨】
- 東京事変-大発見[FLAC+CUE]
- 椎名林檎-三文ゴシップ[FLAC+CUE]
- 2024年08月04日
- 裘德《裘德「最后的水族馆」演唱会LIVE》[320K/MP3][228.89MB]
- 裘德《裘德「最后的水族馆」演唱会LIVE》[24bit 48kHz][FLAC/分轨][2.08G]
- 基因三重奏《如果你什么都不说 音乐会现场录音》[320K/MP3][145.37MB]
- 孟庭苇.1996-月亮说话(2020环球24KGOLD限量版)【上华】【WAV+CUE】
- 群星.1997-新艺宝优质音响系列·国语精选监听版【新艺宝】【WAV+CUE】
- 阿桑.2005-寂寞在唱歌(星外星引进版)【华研国际】【WAV+CUE】
- 基因三重奏《如果你什么都不说 音乐会现场录音》[FLAC/分轨][287.43MB]
- 蔡题谦《我爱你,却依然要看你走》[320K/MP3][88.65MB]