我正在提交表格,以下内容称为...
handleLogin(){
fetch('http://localhost:8080', {
method: 'post',
body: JSON.stringify({
username: this.state.username,
password: this.state.password
})
});
}
它向我的restAPI发出POST请求。该请求有效,但未传递数据...
app.post('/', function(req, res, next) {
console.log(req.body.username);
....
这将打印出未定义的内容,这意味着不会通过呼叫传递密码和用户名。我究竟做错了什么?
最佳答案
默认情况下,Express不解析请求的主体。为了启用解析,您将需要使用诸如body-parser之类的中间件。您可以在express docs中找到一些信息。
另外,客户端需要指示其正在发送json
数据。这可以通过Content-Type
标头实现。有一个关于fetch()
here的很好的教程。您可以直接跳至与您的问题有关的Request Headers
部分。