我像這樣在我的反應應用程式中向我的本地服務器發送請求
fetch("http://localhost:4000/signup", {
method: "POST",
mode: "no-cors",
body: JSON.stringify({ name: "Joe", lname: "Doe" }),
headers: {
"Content-Type": "application/json",
},
})
問題是我在本地服務器上的 req.body 上得到了空物件。
app.post('/signup', (req, res) => {
console.log(req.body);
console.log('post request sent');
})
我怎樣才能修復它,我可以看到從 fetch 正文發送的內容?
uj5u.com熱心網友回復:
您在這里似乎有兩個問題,每個問題本身都會導致您描述的癥狀。
首先,根據以下檔案req.body:
包含在請求正文中提交的資料鍵值對。默認情況下,它是未定義的,并且在您使用諸如 express.json() 或 express.urlencoded() 之類的正文決議中間件時填充。
您似乎沒有加載 JSON 正文決議中間件。
其次,您說mode: "no-cors"的是fetch要默默地忽略任何需要 CORS 許可的嘗試。
這包括設定Content-Type: application/json觸發 JSON 決議中間件所需的標頭。
因此,洗掉中間件并將其mode: "no-cors"添加到您的服務器端代碼中。cors
uj5u.com熱心網友回復:
使用 axios 進行 api 請求并嘗試這個希望它會起作用
常量資料= {名稱:'zafar',lname:“niazi”};
axios.post('https://localhost:4000/signup', 資料)
.then(資料){
控制臺.log(資料);});
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/418734.html
標籤:
上一篇:此回圈的功能等效項
下一篇:為什么我不能使快速路由同步
