资源描述:
《js 跨域访问问题解决方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、js跨域访问问题解决方法什么引起了ajax不能跨域请求的问题?ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。有什么完美的解决方案么?解决方案有不少,但是只能是根据自己的实际情况来选择。跨域的安全限制都是指浏览器端来说的,服务器端是不存在跨域安全限制的。所以针对这2种情况衍生出2类跨域解决方案,一类是服务器端做中转类似代理方式,一类是js处理浏览器端的真正跨域访问。具体情况有:1)本域和子域的相互访问:www.aa.com和book
2、.aa.com用document.domain="aa.com";2)本域和其他域的相互访问:www.aa.com和www.bb.com用XMLHttpRequest访问代理,既服务器端代理方式3)本域和其他域的相互访问:www.aa.com和www.bb.com用JS创建动态脚本,bb.com/b.jsp页面代码如下:$(param.jsoncallback)({"name
7、":"ZhangHuihua","QQ":"350863780"})b.jsp页面通过$(param.jsoncallback)得到浏览器端随后要回调的jsfunctionname:myTest实际上客户端接收到的response如下:myTest({"name":"ZhangHuihua","QQ":"350863780"})jQuery浏览器端跨域访问目前jQuery$.ajax()支持get方式的跨域,这其实是采用jsonp的方式来完成的。其原理就是上面第三种方式,