Axios发布请求主体只是服务器端的一个空对象(React-Axios-Node.js-Express)

问题描述 投票:0回答:1

我试图将发帖请求发送到服务器,并且正在使用它:

let dataToReturn = {
      method: "POST",
      url: "http://localhost:9000/logData",
      headers: { "testing" : "IT WORKED" },
      body: {"hola" : 'testing to see if this counts'}
    }

axios(dataToReturn) 

它知道会发送。我检查了检查器中的“网络”选项卡,可以看到它已发送,并且可以在服务器上执行req.headers,并且可以打印出标题。但是,每当我尝试在服务器上登录req.body时,它只会打印出'{}'

  var body = {
      firstName: 'testName',
      lastName: 'testLastName'
  };

  axios.post('http://localhost:9000/logData', body)
    .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    });

此操作通过^^并在我执行'req.body'时成功打印出身体为什么最上面的示例记录一个空对象?

这是服务器端的路由样子

app.post('/logData', function(req, res) {
    console.log('recieved post');
    console.log(req.body);
    res.sendStatus(200);
})

我承认我是菜鸟,这可能是一个愚蠢的问题,所以请原谅我的无知。如果您需要,也很乐意发布更多信息。

node.js post axios
1个回答
0
投票

您需要在请求的标头中添加内容类型。如下所述更改标头

标题:{“测试”:“工作”,“内容类型”:“应用程序/ json”},

© www.soinside.com 2019 - 2024. All rights reserved.