一、window.name
有三个页面:
实现起来基本步骤如下:
总结起来即:iframe的src属性由外域转向本地域,跨域数据即由iframe的window.name从外域传递到本地域。这个就巧妙地绕过了浏览器的跨域访问限制,但同时它又是安全操作。
二、JSONP
服务器返回 callback({"id": "3", "name": "leisure"}); <script type="text/javascript"> function callback(data) { alert(data); } </script>
<script type="text/javascript" src="
http://www.example.com.cn/product.jsp?id=5&jsonp=callback"></script>
三、jQuery.getJSON
服务器返回 json格式数据 test({"id": "3", "name": "leisure"}); test函数名为callback参数中定义
$.getJSON(url + "?callback=?", data, function(data) {
}
注意callback=?这个参数必须带上,jquery会自动生成一个函数名替换这个问号!jQuery.getJSON实际上是用了JSONP方式实现。
四、flash跨域
服务器添加crossdomain.xml
http://www.example.com.cn/crossdomain.xml Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <? xml version="1.0" ?> < cross-domain-policy > < allow-access-from domain ="*.another.com.cn" /> </ cross-domain-policy >
|
Javascript跨域请求的几种解决方法
最新推荐文章于 2024-09-08 11:14:16 发布