我希望通过位于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.
我希望我能举一个现实的例子,唉,我被要求不要:/
关于如何修复或调试此问题的任何想法?非常感谢您给予的任何帮助。
答案 0 :(得分:1)
我认为两个网站都需要将document.domain
设置为“bar.domain.com”,因为这两个页面都必须明确表明他们愿意进行互操作。 “bar.domain.com”页面已经具有document.domain
的相同字符串并不重要 - 它仍然必须明确设置它。
Here是一个MDC页面,有一些解释。