簡體   English   中英

React 調用 Node 服務器 ajax 中的數據未定義

[英]Data in ajax call from React to Node server is undefined

我正在嘗試使用 jquery 的 ajax 方法將數據從我的 React 前端發送到 Node 后端。 Node 正在接收 api 請求,但數據未定義。

反應:

console.log("Making Node API call");
$.ajax({
    method: "POST",
    url: "test",
    data: {
       name: "John",
       place: "Alaska"
    }
}).done(function( msg ) {
    console.log(msg);
});

節點:

app.post("/test", (req, res) => {
    console.log("Request received");
    console.log(req.body);
});

Node 打印“Request received”,然后是undefined 如果我記錄req而不是req.body ,它仍然是未定義的。

我有幾個想法:

  1. 嘗試將數據解析為字符串。 如果您想發送 HTTP 請求,則應將其格式化為正確的類型,例如。 文本(字符串)或 JSON。

當數據是 object 時,jQuery 從對象的鍵/值對生成數據字符串,除非 processData 選項設置為 false 來源: https://api.jquery.com/jQuery.ajax/

您的數據實際上是這樣的:

數據:'{“名稱”:“約翰”,“地點”:“阿拉斯加”}'

這就是為什么 express 可能會在解析時出現一些問題。

參考: jQuery 在請求正文中發布有效 json

  1. 您在使用 express body 解析器配置時遇到問題。

暫無
暫無

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

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