Ajax跨子域

简介: 主页index.html的主要代码如下: 开始跨域 document.domain = '2fool.cn'; function crossDomain(){ var iframe=document.

主页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时,会产生安全性异常,拒绝访问。

img_fa0be433d68c8212b2b0b3b1a564ccb1.png
如果本文对你有所帮助,请打赏——1元就足够感动我:)
支付宝打赏 微信打赏
联系邮箱:intdb@qq.com
我的GitHub: https://github.com/vipstone
关注公众号: img_9bde0f31ac4a0eca10b1bd7414b78faf.png


作者: 王磊
出处: http://vipstone.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,请标明出处。

相关文章
|
前端开发 uml
如何管理庞大的Ajax请求?
如何管理庞大的Ajax请求?
56 0
|
3月前
|
JSON 前端开发 JavaScript
跨越跨域大山,前端不得不知道的Ajax
该文章介绍了AJAX技术的基本使用方法,包括GET和POST请求的模拟,并探讨了浏览器同源策略及其对跨域请求的影响,同时还提出了JSONP和CORS作为解决跨域问题的方案。
|
前端开发 JavaScript C#
【C#编程最佳实践 十】控件使用及Ajax通信
【C#编程最佳实践 十】控件使用及Ajax通信
81 0
|
存储 JSON 前端开发
使用 ajax 的方式给 zTree 提供数据 | 学习笔记
快速学习使用 ajax 的方式给 zTree 提供数据
使用 ajax 的方式给 zTree 提供数据 | 学习笔记
|
JSON 前端开发 API
前端 ajax 请求的优雅方案
前端 ajax 请求的优雅方案
119 0
|
前端开发 Java
【AJAX】AJAX技术详细解析以及实例(2)
【AJAX】AJAX技术详细解析以及实例
198 0
【AJAX】AJAX技术详细解析以及实例(2)
|
前端开发 JavaScript
Ajax请求全局配置
Ajax请求全局配置
|
前端开发
express搭建后端请求路由,前端进行访问对应的接口 后端解决跨域
express搭建后端请求路由,前端进行访问对应的接口 后端解决跨域
|
XML Web App开发 缓存
【AJAX】AJAX技术详细解析以及实例(1)
【AJAX】AJAX技术详细解析以及实例
199 0
|
前端开发 数据格式 JSON
ajax调用后台公用方法
//远程调用 后台的  公用方法   function ajaxAction(action,value){   $.
1103 0