Document.domain没有像我期望的那样运行

时间:2011-01-27 17:40:20

标签: javascript ajax cross-domain access-control

我希望通过位于bar.domain.com的代理访问API。我正在通过位于foo.bar.domain.com上的脚本访问它。所以当然我遇到了same origin policy

在foo.bar.domain.com上加载的第一个脚本的顶部,我设置了document.domain = "bar.domain.com"

在检查器中,如果我在此行之后立即暂停执行并检查document.domain,则返回bar.domain.com。与在.ajax触发之前暂停相同,并且在所有javascript运行之后检查相同。

不幸的是,我仍然得到:Origin http://foo.bar.domain.com is not allowed by Access-Control-Allow-Origin.

我希望我能举一个现实的例子,唉,我被要求不要:/

关于如何修复或调试此问题的任何想法?非常感谢您给予的任何帮助。

1 个答案:

答案 0 :(得分:1)

我认为两个网站都需要将document.domain设置为“bar.domain.com”,因为这两个页面都必须明确表明他们愿意进行互操作。 “bar.domain.com”页面已经具有document.domain的相同字符串并不重要 - 它仍然必须明确设置它。

Here是一个MDC页面,有一些解释。