日期:2014-05-16 浏览次数:20389 次
说白点就是post、get的url不是你当前的网站,域名不同。例如在aaa.com/a.html里面,表单的提交action是bbb.com/b.html。 不仅如此,www.aaa.com和aaa.com之间也属于跨域,因为www.aaa.com是二级域名,aaa.com是根域名。 JavaScript出于安全方面的考虑,是不允许跨域调用其他页面的对象的(同源策略 Same-Origin Policy)。 关于JavaScript能否跨域通信的详细说明,见下表: http://www.a.com/a.js访问以下URL的结果 ? 跨域这东西其实很常见,例如我们可以把网站的一些脚本、图片或其他资源放到另外一个站点。例如我们可以使用Google提供的jQuery,加载时间少了,而且减少了服务器的流量,如下: 有时候不仅仅是一些脚本、图片这样的资源,我们也会希望从另外的站点调用一些数据(有时候是不得不这样),例如我希望获取一些blog的RSS来生成一些内容,再或者说我在“人人开放平台”上开发一个应用,需要调用人人的数据。 然而,很不幸的是,直接用XMLHttpRequest来Get或者Post是不行的,例如我用jQuery的$.get去访问本小博的主域名 : 结果如下(总之就是不行啦~FF不报错,但是木有返
1、神马是跨域(Cross Domain)
URL
说明
是否允许通信
http://www.a.com/b.js
同一域名下
允许
http://www.a.com/script/b.js
同一域名下不同文件夹
允许
http://www.a.com:8000/b.js
同一域名,不同端口
不允许
https://www.a.com/b.js
同一域名,不同协议
不允许
http://70.32.92.74/b.js
域名和域名对应ip
不允许
http://script.a.com/b.js
主域相同,子域不同
不允许
http://a.com/b.js
同一域名,不同二级域名(同上)
不允许
http://www.b.com/b.js
不同域名
不允许
2、为嘛要跨域
<
script
type
=
"text/java script"
src
=
"https://aja x.googleapis.com/aj ax/libs/jquery/1.4.2/jquery.min.js"
></
script
>
$.get(
"http://flycoder.org/"
,
{},
function
(data){
alert(
'跨域不是越狱:'
+data)
},
"html"
);