「API 回應中不存在'Access-Control-Allow-Origin'標頭」
用於標頭問題解決的CORS代理
如果您缺乏對伺服器的控制,您可以透過以下方式繞過標頭缺陷使用 CORS 代理。一個易於部署的選項是 cors-anywhere (https://github.com/Rob--W/cors-anywhere),可以使用幾個命令進行設定。此代理將必要的 Access-Control-Allow-Origin 標頭新增至回應。
避免 CORS 預檢
由於授權標頭,相關程式碼會觸發 CORS 預檢。此外,Content-Type: application/json 也可以引發預檢。為了避免這種情況,必須修改伺服器以使用必要的標頭適當地回應預檢 OPTIONS 請求。或者,可以考慮設計請求以避免這些觸發器(例如,使用不同的標頭或嵌入式 JSON)。
「通配符」存取控制允許來源問題
對於具有憑證的回應,Access-Control-Allow-Origin 標頭的值不能為「*」。它必須與前端程式碼的來源精確匹配,例如「http://127.0.0.1:3000」。可以調整伺服器配置以自動反映標頭中的原始值。
刪除不必要的請求標頭
從JavaScript 程式碼中刪除這些行,因為它們代表回應標頭和不應包含在請求中:
headers.append('Access-Control-Allow-Origin', 'http://localhost:3000'); headers.append('Access-Control-Allow-Credentials', 'true');
以上是如何解決「無『Access-Control-Allow-Origin』標頭」CORS 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!