我正在尝试在我的主域(http://foo.com)和我的API(http://api.foo.com)之间开发请求.
为了绕过关于跨子域内容的限制,我在主页(http foo.com/main.html)上使用iframe,指向iframe.html页面:scripts.api.foo.com.
(scripts.api.foo.com和foo.com在同一台服务器上,api.foo.com在其他服务器上)
> iframe.html:
Iframedocument.domain = 'foo.com';
function testIframe()
{
$.ajax({
url: "http://api.foo.com/utctime",
timeout: 7000,
complete: function(jqXHR, textStatus){
parent.alert(jqXHR.status);}
});
}
> main.html:
Testdocument.domain = 'foo.com';
function test()
{
pipeFrame.testIframe();
}
警报窗口始终包含Firefox 3.0/Chrome的" 302 "(重定向),IE8的" 0 "...虽然Firebug告诉我我的请求获得"200 Ok"状态(并且没有响应)...
我已经尝试过,直接在scripts.api.foo.com/iframe.html上,提出相同的请求,并获得相同的状态代码.
我非常沮丧,在网上徒劳地搜索实现跨子域的明确方法,或者对这些状态代码的解释......任何帮助都会受到欢迎.
非常感谢您的关注.再见.