Ajax跨子域

简介:

主页index.html的主要代码如下:

< button  onclick="crossDomain();">开始跨域</ button >
< div  id="ajax"></ div >
< iframe  src="http://work.2fool.cn/crossdomain/iframe.html" id="iframe" style="display:none;">
</ iframe >
< script  type="text/javascript">
document.domain = '2fool.cn';
function crossDomain(){
     var iframe=document.getElementById('iframe').contentWindow.$;       
     iframe.get("http://work.2fool.cn/crossdomain/helloworld.txt",function(data){
         document.getElementById("ajax").innerHTML=data;
     });
}
</ script >

iframe页面主要代码如下:

< script  type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></ script >
< script  type="text/javascript">
document.domain = '2fool.cn';
</ script

原理:通过给主页面跟请求页面设置相同的document.domain来,欺骗浏览器,达到Ajax跨子域的效果,此方法在IE,chrome,Firefox,Safari,Opera下测试通过。

缺点:无法实现不同主域名之间的通讯。并且当在一个页面中还包含有其它的iframe时,会产生安全性异常,拒绝访问。






本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/archive/2011/08/16/2140623.html,如需转载请自行联系原作者


目录
相关文章
|
5月前
|
前端开发 uml
如何管理庞大的Ajax请求?
如何管理庞大的Ajax请求?
30 0
|
23天前
|
移动开发 前端开发 安全
iframe实现跨域通信的方法
iframe实现跨域通信的方法
26 6
|
6月前
|
前端开发 JavaScript 安全
带你读《现代Javascript高级教程》——前端跨页面通信:实现页面间的数据传递与交互(1)
带你读《现代Javascript高级教程》——前端跨页面通信:实现页面间的数据传递与交互
103 0
|
7月前
|
JavaScript 安全 前端开发
跨越跨域限制,掌握 Axios 的跨域解决策略
跨域是指访问另外一个域的资源,由于浏览器的同源策略,默认情况下使用 XMLHttpRequest 和 Fetch 请求时是不允许跨域的。跨域的根本原因是浏览器的同源策略,这是由浏览器对 JavaScript 施加的安全限制。
|
9月前
|
移动开发 安全 JavaScript
html5使用postMessage解决跨域和跨窗口消息传递的解决方案
html5使用postMessage解决跨域和跨窗口消息传递的解决方案
107 0
|
10月前
|
前端开发 JavaScript C#
【C#编程最佳实践 十】控件使用及Ajax通信
【C#编程最佳实践 十】控件使用及Ajax通信
56 0
|
Web App开发 移动开发 安全
「趣学前端」关于iframe跨域通信
用技术实现梦想,用梦想打开创意之门。之前开发遇到了iframe跨域通信的问题,今天分享一下解决方案,顺便总结一波知识点。
838 1
「趣学前端」关于iframe跨域通信
|
缓存 移动开发 前端开发
浏览器专题系列 - 跨域与跨站(二)
浏览器专题系列 - 跨域与跨站(二)
|
存储 前端开发 JavaScript
浏览器专题系列 - 跨域与跨站(一)
浏览器专题系列 - 跨域与跨站(一)
|
前端开发 JavaScript
Ajax请求全局配置
Ajax请求全局配置