首頁 >web前端 >js教程 >如何解決從 REST API 取得資料時出現「No 'Access-Control-Allow-Origin' header」錯誤?

如何解決從 REST API 取得資料時出現「No 'Access-Control-Allow-Origin' header」錯誤?

Barbara Streisand
Barbara Streisand原創
2024-12-21 14:15:11780瀏覽

How to Solve the

從REST API 取得資料時「要求的資源上不存在'Access-Control-Allow-Origin'標頭」

嘗試從REST API 擷取資料時在本機上工作時使用REST API,您可能會遇到錯誤訊息「Fetch API無法載入。 」此錯誤源自於瀏覽器強制執行的“同源策略”,限制來自不同來源(域、連接埠和協定)的資源相互交互。

克服錯誤

利用CORS 代理

如果您缺乏對託管REST API 的伺服器的控制,並且其回應的唯一問題是缺少所需的Access-Control-Allow-Origin 標頭,您可以利用CORS代理來促進請求。 -anywhere.git

導航到克隆的目錄:cd cors-anywhere/

    安裝依賴項:npm install
  1. 建立 Heroku 實例:heroku create
  2. 部署代理程式:git push heroku master
  3. 部署後,使用產生的代理 URL 作為 REST API URL的字首。檢請求包含授權標頭。 Authorization 標頭。 x-www-form-urlencoded 正文包含JSON格式的參數。標頭的值為“*”,瀏覽器會限制前端JavaScript程式碼對回應的存取。避免使用Chrome CORS 插件,因為他們只是將通用的Access-Control-Allow-Origin: * 標頭注入到回應中,這可能會導致意外的行為。使用帶有 -H 標誌的curl 命令進行可靠的測試。

以上是如何解決從 REST API 取得資料時出現「No 'Access-Control-Allow-Origin' header」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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