我一直在試圖做一個簡單的iron-ajax
發佈到服務器,但它在預檢呼叫時保持失敗。對於我的生活,我無法弄清楚發生了什麼,所有的CORS標題在服務器上似乎都是正確的。對預檢403禁止的響應
Response headers
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:Content-Type
Access-Control-Allow-Methods:GET, POST, PUT, OPTIONS
Access-Control-Allow-Origin:*
cache-control:must-revalidate, private, no-cache, no-store, max-age=0
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:138
Content-Type:text/html
Request headers
Accept:*/*
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:content-type
Access-Control-Request-Method:POST
Cache-Control:no-cache
Connection:keep-alive
請求確實是從本地主機做,但我會認爲*
應採取照顧。
的錯誤,都出現在控制檯最多是: OPTIONS https://... 403 (Forbidden)
和
XMLHttpRequest cannot load https://.... Response for preflight has invalid HTTP status code 403
任何幫助/建議表示讚賞。
您在瀏覽器devtools控制檯中看到的確切錯誤消息是什麼?考慮編輯/更新您的問題以包含該信息 – sideshowbarker
'選項https:// ... 403(禁止)'和'XMLHttpRequest無法加載https:// ....預檢的響應具有無效的HTTP狀態碼403' – DVM
因此是的,這表明服務器後端沒有被配置爲處理OPTIONS請求的一般問題,而不僅僅是預檢OPTIONS請求。服務器需要使用2xx-200或204來響應OPTIONS請求。如果沒有,那麼它將配置發送的Access-Control - \ *標題沒有區別。而以正確的方式配置服務器來處理OPTIONS請求的答案 - 發送200或204個成功消息 - 取決於它運行的服務器軟件 – sideshowbarker