使用Node.js和Express进行发布时的请求正文为空或未定义

时间:2019-02-03 08:39:15

标签: node.js typescript express postman

我有以下打字稿代码:

import express = require('express');

const app: express.Application = express();
const port: number = 3000;


app.listen(port, () => {
    console.log("Server started on port" + port);
    app.use(bodyParser.urlencoded({ extended: true }));
})

app.post('*', (req, res) => {
    console.log(req.body);
});

由于某些原因,req.body始终是undefined,而不是通过邮递员发送键/值对。添加app.use(bodyParser.urlencoded({ extended: true }));仅将正文从undefined更改为{}

在这种情况下可能是什么问题?

1 个答案:

答案 0 :(得分:0)

必须在app.use(bodyParser.urlencoded({ extended: true }));之前调用行app.listen。 如果您使用的是express 3.0及以下版本,请使用以下代码代替here

const app = express.createServer();
app.use(express.bodyParser());

如果仍然无法正常工作,请在Postman中确保您以application/x-www-form-urlencoded的身份发送数据

postman form data send