2 回答

TA貢獻1998條經驗 獲得超6個贊
當您嘗試直接從瀏覽器調用 API 并且該 API 不允許任何其他網站獲取數據時,通常會出現 CORS 錯誤。
到目前為止,我可以想到這個問題有 2 種解決方法 -
您可以從后端代碼調用該 API,然后在后端收集從網站接收的數據,然后在客戶端傳輸數據?;旧希鷮b原始 API。
您可以使用 NGINX 之類的 Web 服務器,并在指向外部 API 的域上配置特定路徑,并在您的項目中配置其他路徑。這將有助于在同一域名上制作外部 API 和您的 React 代碼。
您的主要目標是讓該外部 API 與您的反應代碼一起通過您的域工作。

TA貢獻1845條經驗 獲得超8個贊
在瀏覽器上下文 JS 中,例如在對 API 的獲取調用中,CORS 適用。與 CURL 請求不同,您實際上是在運行服務器端上下文,因此 CORS 不適用。這就是為什么您可以從服務器上下文或 node.js 上下文訪問 instagrams 非官方 api,但不能從瀏覽器中的同一個 fetch 調用訪問??赡艿慕鉀Q方案:
服務器設置的 Allow-Content-Orgin 標頭必須包含您的頁面所在的域。
將 Eletron 或 NodeWebkit.js 用于使用瀏覽器 (chromium) 運行客戶端的可視化應用程序以在其中啟動您的應用程序(瀏覽器和服務器上下文的混合,CORS 不適用)
運行 node.js 應用程序(無瀏覽器、服務器上下文)并從終端運行您的應用程序。(CORS 不適用)
添加回答
舉報