首頁 >web前端 >js教程 >如何解決「無『Access-Control-Allow-Origin』標頭」CORS 錯誤?

如何解決「無『Access-Control-Allow-Origin』標頭」CORS 錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-22 16:43:10800瀏覽

How Can I Resolve

「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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn