簡體   English   中英

如何在本地主機中獲取 api,即 react js 中的 localhost/9563

[英]How to fetch api in local host i.e localhost/9563 in react js

When I build the my react js it's not showing any fetch api and gave me error (get/playlist) When I developed the react js web I give proxy in package.json file.I know that it's work only on development side but how to當我構建網站時獲取 api 並通過 fetch api 呈現給客戶端我可以使用 express js 嗎?

我獲取的 Api 在 localhost/9563 React js 在 localhost/3000 中運行

最簡單的方法是使用 react 中的代理: https://create-react-app.dev/docs/proxying-api-requests-in-development/ - 根據您的問題,您可能已經這樣做了。

你能分享你的 package.json 嗎? 我懷疑你可能配置錯誤。


或者,如果您不想使用代理:

確保在您的 Express 應用程序中啟用 CORS,由於前端和后端之間的端口不同,您的瀏覽器的同源策略不適用。 所以請求不會被運行。

您可以使用 CORS 中間件: https://expressjs.com/en/resources/middleware/cors.html

一旦您的 Express 后端允許 CORS,您的請求應該可以正常運行。


附帶說明:服務器端 cookies 不會以這種方式發送,因為如果端口不同,許多瀏覽器不會發送 cookies。 如果您需要在您的 fetch 請求中發送服務器端 cookies,您需要准備好 3 件事:

  1. CORS 在后端啟用
  2. CORS 允許憑證 header 在后端設置
  3. 使用{withCredentials: true}選項調用前端提取
  4. 后端和前端都在同一端口下運行(在 localhost 上尤其重要),因此在這種情況下,您可能需要 nginx 來代理后端/前端。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM