【发布时间】:2014-02-10 20:58:17
【问题描述】:
根据jQuery:
crossDomain (default: false for same-domain requests, true for cross-domain requests)类型:布尔 如果你想强制 同域跨域请求(如JSONP),设置值 跨域为真。例如,这允许服务器端 重定向到另一个域。 (添加的版本:1.5)
我不明白上面的意思。
如果代码是
$(document).ready(function ()
{
$.ajax(
{
url: 'http://es3.com/Handlers/MyHandler.ashx',
cache: false,
dataType: "jsonp",
...
...
});
});
function aaa(json)
{
alert(json.result);
}
我指定datatype:jsonp,然后响应将是应用程序/javascript mime 类型,因为它是一个将在我的浏览器中运行的脚本。
当我在 same 域下运行此代码时,我看不出有任何理由为什么它不会那样运行。 (因此 - 我没有看到此属性的用途)。
我已经做了一个示例
我有 2 个(主机调整)域。 es2.com 和 es3.com。
(注意,代码中的url总是指向es3.com)
测试#1:
从es3.com 运行代码:(左窗格)
从es2.com 运行代码:(右窗格)crossDomain:false(缺少时默认)。
看看差异:(http://i.stack.imgur.com/RKyZp.jpg)
测试#2:
从es3.com 运行代码:(左窗格)
从es2.com 运行代码:(右窗格)crossDomain:true
(http://i.stack.imgur.com/xEcyd.jpg)
我看不出有什么不同。
问题:
为什么/何时我需要设置crossDomain 属性?
【问题讨论】:
标签: javascript jquery ajax