所以我試圖用JavaScript做一個跨域AJAX請求。有了正確的標題和選項請求,仍然得到「No Access-Control-Allow-Origin頭部存在於請求的資源」
我的OPTIONS請求正在執行而沒有任何問題,並且我將返回 Access-Control-Allow-Origin:*
作爲響應標頭。然而,試圖使後續的POST請求時,我得到以下錯誤:
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://phoenix-client.local' is therefore not allowed access.
我已經驗證多次,我的OPTIONS請求確實正在發送正確的響應,其中包括訪問控制,允許-Origin頭,但是瀏覽器似乎忽略它:(
任何想法
編輯 - 一對夫婦的事情,我已經注意到:
如果我嘗試更新的頭我的服務器爲s結束時,除我之外的其他人都會在發出請求時獲得新更新的標頭。就好像我的電腦正在緩存對OPTIONS請求的響應。
這隻發生在我的一個AJAX請求中。在請求失敗之前,我發出了多個請求,並且它們都工作正常(除了最後一個標題外)。
編輯!!!!
更新此帖(非常晚)。這最終不是一個CORS錯誤。我從Chrome獲得一個錯誤的「Access-Control-Allow-Origin」錯誤,但是當我直接運行AJAX請求時,我得到了真正的錯誤(通常應該是錯誤500,帶有某種PHP錯誤消息) 。仍然不確定這是爲什麼發生,但...
'POST'請求還*發送'Access-Control-Allow-Origin'? –
不,它不發送訪問控制允許來源。剛開始在單臺計算機(我的)上遇到這個問題。適用於其他開發人員,即使使用內部IP地址遠程訪問我的本地服務器 –
您的POST也必須發送Access-Control-Allow-Origin,並推斷爲@ExplosionPills。 –