Javascript 使用POST和React Fetch返回空对象?

Javascript 使用POST和React Fetch返回空对象?,javascript,node.js,reactjs,express,Javascript,Node.js,Reactjs,Express,我有一个非常简单的内置Node/Express的后端服务器,它通过 app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()) app.post('/auth/login', (req, res) => { console.log(req.body); res.send(req.body); }); 当我通过Postman将一篇文章发送到这个站点时,正文中有key/value,

我有一个非常简单的内置Node/Express的后端服务器,它通过

app.use(bodyParser.urlencoded({
  extended: true
}));
app.use(bodyParser.json())

app.post('/auth/login', (req, res) => {
  console.log(req.body);
  res.send(req.body);
});
当我通过Postman将一篇文章发送到这个站点时,正文中有key/value,它会像预期的那样以Postman的形式返回,我可以在我的NodeJS控制台中看到交换是通过
控制台.log进行的。但是,当我对React执行相同的操作时,它只记录一个空对象

这是我的反应:

handleSubmit(e) {
  e.preventDefault();
  const { email } = this.state;

  fetch('/api/login', {
    method: 'POST',
    headers: {
      'Content-Type':'application/json'
    },
    body: {
      "email": email
    }
  });

  console.log("EMAIL", email)
}
当用户在其电子邮件中键入时,我的状态正在更新,当他们单击提交按钮时,会触发此
handleSubmit()

然而,输出是一个平淡的空
{}

我不确定我在这里做错了什么,API不会记录状态?React记录将要发布到API的数据,它看起来是有效的

更新

以下是正在更新状态的代码:

 handleChange(e) {
   const email = e.target.value;

   this.setState({
     email,
   });
 }
更新时,我没有使用
.then()
返回数据,因此我得到了一个空对象

fetch('/api/login', {
    method: 'POST',
    headers: {
      'Content-Type':'application/json'
    },
    body: {
      "email": email
    }
  }).then(res => console.log(res));
你需要使用。然后()


您需要使用.then()

您可以发布更改电子邮件的设置状态函数吗?fetch返回一个承诺,您需要对其调用then()。@MarouenMhiri在底部更新了我的帖子。您可以发布更改电子邮件的设置状态函数吗?fetch返回一个承诺,您需要调用then()在它上面。@MarouenMhiri在底部更新了我的帖子。就是这样。非常感谢。我不熟悉使用fetch处理POST请求。到目前为止,所有的
get
请求都已完成。如果没有
,我的代码是不完整的,这是完全有道理的。然后()。非常感谢。我不熟悉使用fetch处理POST请求。到目前为止,所有的
get
请求都已完成。如果没有
。then()