Я пытаюсь разработать запросы между моим основным доменом (http://foo.com) и мой API (http://api.foo.com).
). Чтобы обойти ограничения, связанные с работой между поддоменами, я использую Iframe на своей главной странице (http.//foo.com/main.html), указывая на страницу 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, запустить тот же запроси получил тот же код состояния.
Я очень расстроен, после тщетного поиска по всему Интернету ясного способа реализации кросс-поддоменов или объяснения этого кода состояния ... Любая помощь будетдобро пожаловать.
Большое спасибо за ваше внимание.Bye.