2011-08-23 105 views
21

我通過chrome->Inspect element->console得到這個錯誤:XMLHttpRequest無法加載。?

XMLHttpRequest cannot load. Origin is not allowed by Access-Control-Allow-Origin.

這是什麼解決?

+0

請參閱http://en.wikipedia.org/wiki/Same_origin_policy瞭解背景。如果您正在尋找解決方法,則需要添加更多關於您正在進行的操作的詳細信息。 –

+1

服務器不允許交叉源請求。背景信息:http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing – sethobrien

+0

【希望可以幫到你] [1] [點擊] [2] [1] :http://stackoverflow.com/questions/3828982/xmlhttprequest-cannot-load-an-url-with-jquery [2]:http://stackoverflow.com/questions/22230520/no-access-control- allow-origin-header-is-present-on-the-requested-resource-node 這是主意...... – Cherryishappy

回答

17

您不能通過XMLHttpRequest向其他域或子域發出請求。 如果您正在從www.foo.com發出請求,您還需要在www.foo.com上定位請求,而不是遺漏www。

如果您確實需要訪問另一個域,則可以使用JsonP,其中瀏覽器利用<script>標記功能加載來自其他域的腳本。加載的腳本然後執行一個回調函數爲您提供數據。但對於常規的AJAX調用,你根本無法離開源域。

查看Same Origin Policy

+1

這個答案真的幫了我。謝謝Tigraine – okconfused

5

解決方法是使用Korz,它通過第三方路由所有交叉源請求,並將Access-Control-Allow-Origin header設置爲'*',以便請求通過。

+0

有趣的...這做了快速測試 –

+4

如果它的工作,你應該upvote答案。 – Stunner

相關問題