手机版

jQuery跨域问题解决方案

时间:2021-09-08 来源:互联网 编辑:宝哥软件园 浏览:

要通过XMLHTTPRquest请求不同域的数据,js跨域访问是一个后台带有处理路径“/test”的函数。具体解决方案介绍如下。

路径/测试的后台处理功能:

复制代码如下://路径处理app.get('/test ',user . test);//处理函数exports.test=function (req,RES) {res.end ('alert ('js跨域访问')');};

有一个外部网页需要访问路径“/test”下的内容,所以可以通过JS脚本文件跨域访问:

复制代码如下://Handle函数脚本函数方法(数据){console.log(数据);}/script//跨域访问脚本src=' http :3358 localhost 33603000/test '/script

因此,当前网页中将弹出一个窗口:

JSONP跨域访问在jQuery中的实现:

还有一个在后台处理路径“/test”的函数:

//路径处理app.get('/test ',user . test);//处理函数exports.test=function (req,RES){ RES . end(' method(' JSON . stringfy({ mes : '跨域访问成功!'}) ')');};外面有一个网页需要访问路径“/test”下的内容。通过JSONP://improve jQuery函数库脚本src=' http :3358 localhost 33603000/js/jQuery-1 . 9 . 1 . min . js '/script//JSONP跨域访问脚本$。jQuery中的Ajax({ URL : ' http://localhost 33603000/test ',键入:' get ',成功:函数(数据){$ ('body ')。追加(data . mes);},dataType:'jsonp ',jsoncallback : ' method ' });/script

因此,当前网页中将显示以下信息:

通过上面的代码,我们可以看到JSOPN跨域访问和原来的JS跨域访问的区别在于JSONP不需要编写处理跨域访问的函数(比如上面方法中使用的方法函数),它会在JSONP跨域访问时自动帮助我们创建一个处理跨域访问的函数。

JSONP跨域访问的优势:

1.它不受与XMLHTTPRequest对象实现的AJAX请求相同的起源策略的限制;

2.它具有更好的兼容性,不需要XMLHTTPRequest或ActiveX的支持。

3.请求完成后,可以通过调用回调方法返回结果。

JSONP跨域访问的缺点:

1.它只支持GET请求,不支持POST等类型的请求;

2.它只支持跨域HTTP请求,无法解决不同域的两个页面之间如何调用JavaScript的问题。

版权声明:jQuery跨域问题解决方案是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。