4
經典「原因...不被訪問控制允許來源」問題。兩臺機器爲同一網站提供內容。當機器A通過jquery執行$('#main').load('link_to_resource_on_B')
時,機器B用mod_python提供內容,並添加Access-Control-Allow-Origin: *
標題。但由於某種原因,這仍然不起作用。我在Chrome,Safari和Internet Explorer上測試了這一點。我通過命令行來檢查響應頭,看起來Access-Control-Allow-Origin: *
已成功地從B頭看到。我可能會錯過什麼?訪問控制允許來源:*不工作?
$ telnet localhost 80
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /tests/python/test/env HTTP/1.1
host: 10.0.1.10
HTTP/1.1 200 OK
Date: Mon, 27 Feb 2012 02:05:33 GMT
Server: Apache/2.2.20 (Ubuntu)
Access-Control-Allow-Origin: *
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/html
是否有客戶端設置的任何自定義標頭?自定義標頭(或非GET HTTP方法)可能觸發預檢請求,這需要額外的處理。 – monsur 2012-02-27 17:36:36
感謝您的提示,@monsur。你是對的,這是OPTION標題,並沒有像處理它那樣處理。一些研究也告訴我,我的jquery太舊了。較新的jQuery(自1.5.2開始)故意避免使用客戶頭。所以歸結起來,我升級了我的jquery,而我的頭痛消失了。 對於那些遭受同樣症狀的人來說,這個鏈接爲我提供了啓蒙的後半部分。 [http://remysharp.com/2011/04/21/getting-cors-working/](http://remysharp.com/2011/04/21/getting-cors-working/) – user1170717 2012-02-28 07:19:39
@ josh3736,謝謝幫助我格式化我的第一篇文章。那是我的第一篇文章。下一次會知道該怎麼做。 – user1170717 2012-02-28 07:26:12