我正在尝试在我的主域名(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:
警告窗口总是包含“302”(重定向)在Firefox 3.6 / Chrome中,“0”在IE8中...虽然Firebug告诉我我的请求得到了“200 Ok”状态(没有响应)...
我已经尝试在scripts.api.foo.com/iframe.html上直接启动相同的请求,并获得了相同的状态码。
我感到非常沮丧,徒劳地在整个网络上搜索实现跨子域的清晰方式,或关于这些状态码的解释... 任何帮助都将受到欢迎。
感谢您的关注。 再见。
为了绕过跨子域限制,我在我的主页面(http.//foo.com/main.html)上使用一个iframe,指向一个名为iframe.html的页面:scripts.api.foo.com。
(scripts.api.foo.com和foo.com位于同一台服务器上,api.foo.com位于另一台服务器上) >iframe.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Iframe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
document.domain = 'foo.com';
function testIframe()
{
$.ajax({
url: "http://api.foo.com/utctime",
timeout: 7000,
complete: function(jqXHR, textStatus){
parent.alert(jqXHR.status);}
});
}
</script>
</body>
</html>
>main.html :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
document.domain = 'foo.com';
function test()
{
pipeFrame.testIframe();
}
</script>
<iframe style="" src="http://scripts.api.foo.com/iframe.html" width="500" height="50" id="pipeFrame" name="pipeFrame"></iframe>
<form>
<p>
<input type="button" value="Hop" onclick="test();" />
</p>
</form>
</body>
</html>
警告窗口总是包含“302”(重定向)在Firefox 3.6 / Chrome中,“0”在IE8中...虽然Firebug告诉我我的请求得到了“200 Ok”状态(没有响应)...
我已经尝试在scripts.api.foo.com/iframe.html上直接启动相同的请求,并获得了相同的状态码。
我感到非常沮丧,徒劳地在整个网络上搜索实现跨子域的清晰方式,或关于这些状态码的解释... 任何帮助都将受到欢迎。
感谢您的关注。 再见。