我正在提交表格,以下内容称为...

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部分。

08-08 01:42
查看更多