2011-01-27 31 views
1

我正在通過位於bar.domain.com的代理訪問API。我通過位於foo.bar.domain.com上的腳本訪問它。所以當然,我碰到了same origin policyDocument.domain不能正常工作,因爲我期待

在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

你仍然在同一協議? Domain.com實際上是一個.com域名?你在嘗試使用哪些瀏覽器?你不轉換端口?你能顯示一些代碼嗎? – 2011-01-27 17:42:07

+0

我們的確在使用相同的協議和端口。我爲我的代碼使用requireJS,所以這裏是受影響的部分的一個非常簡化的模型:http://jsfiddle.net/WSEue/ – 2011-01-27 17:48:34

回答

1

我覺得網站需要設置document.domain爲「bar.domain.com」,因爲這兩個頁面必須明確表示他們願意互操作。不要緊,「bar.domain.com」頁面已經具有相同的字符串document.domain —它仍然必須明確設置它。

Here是一個MDC頁面,有一些解釋。

相關問題