首页 > Web开发 > 详细

关于ajax跨域解读

时间:2017-04-04 20:51:15      阅读:225      评论:0      收藏:0      [点我收藏+]


首先要了解何为跨域,(协议、域名、端口任意一个不同)的web资源。
如何解决跨域:
1,jsonp 它只支持GET请求而不支持POST等其它类型的HTTP请求;
例如angular 中,
如下使用,$http.jsonp(‘some/trusted/url‘, {jsonpCallbackParam: ‘callback‘})

2,HTML5中window.postMessage,在两个页面之间的数据传递,不适用于客户端和服务端的通信;
3,通过修改document.domain来跨子域,需要对两个页面设置document.domain;
4,通过设置window.name的方式,比如:www.example.com/a.html 想访问www.cnblogs.com/data.html的内容
则需要在 data页面中设置window.name = "a.html页面想要获取的数据";
在a.html中写:
写一个iframe
<iframe id = "proxy" src="http://www.cnblogs.com/data.html" style="display:none" onload = "getData()"></iframe>
<script>
function getData(){
var iframe=document.getElementById("proxy");
iframe.onload = function(){
var data = iframe.contentWindow.name;
alert(data);
}
}
</script>

总结来说,第一种方式,只适用于get请求;
第二三四种方式,则需要两个通信的页面同时操作。

 

关于ajax跨域解读

原文:http://www.cnblogs.com/susie-note/p/ajax-01.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!