1 / 5
文档名称:

javascript跨域解决方案1.doc

格式:doc   大小:113KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

javascript跨域解决方案1.doc

上传人:63229029 2017/9/5 文件大小:113 KB

下载得到文件列表

javascript跨域解决方案1.doc

文档介绍

文档介绍:1、神马是跨域(Cross Domain)
说白点就是post、get的url不是你当前的网站,域名不同。/,/。
不仅如此,.com之间也属于跨域,因为名,是根域名。
JavaScript出于安全方面的考虑,是不允许跨域调用其他页面的对象的(同源策略 Same-Origin Policy)。
关于JavaScript能否跨域通信的详细说明,见下表:
.js访问以下URL的结果
URL
说明
是否允许通信
.js
同一域名下
允许
ipt/
同一域名下不同文件夹
允许
0/
同一域名,不同端口
不允许
https://.js
同一域名,不同协议
不允许

域名和域名对应ip
不允许
http://script./
主域相同,子域不同
不允许
/
同一域名,不同二级域名(同上)
不允许
.js
不同域名
不允许

2、为嘛要跨域
跨域这东西其实很常见,例如我们可以把网站的一些脚本、图片或其他资源放到另外一个站点。例如我们可以使用Google提供的jQuery,加载时间少了,而且减少了服务器的流量,如下
<script type="text/java script"src="https://aja x./aj ax/libs/jquery/.js"></script>
有时候不仅仅是一些脚本、图片这样的资源,我们也会希望从另外的站点调用一些数据(有时候是不得不这样),例如我希望获取一些blog的RSS来生成一些内容,再或者说我在“人人开放平台”上开发一个应用,需要调用人人的数据。
然而,很不幸的是,直接用XMLHttpRequest来Get或者Post是不行的,例如我用jQuery的$.get去访问本小博的主域名:
$.get("/",
{}, function(data){
alert('跨域不是越狱:'+data)
}, "html");
结果如下(总之就是不行啦~FF不报错,但是木有返回数据):

那咋么办捏?(弱弱的说,测试的时候我发现IE访问本地文件时,是可以跨域的,不过这也没啥用~囧~)
3、肿么跨域
下面为了更好的讲解和测试,我们可以通过修改hosts文件来模拟跨域的效果,hosts文件在C:\Windows\System32\drivers\etc 文件夹下。在下面加3行:



、跨域代理
一种简单的办法,就是把跨域的工作交给服务器,从后台获取其他站点的数据再返回给前台,也就是跨域代理(Cross Domain Proxy)。
这种方法似乎蛮简单的,改动也不太大。不过就是http请求多了些,响应慢了些,服务器的负载重了些~

、+iframe


对于主域相同而子域不同的例子,。
举./,,''(只能为