Node.js NodeJS req.body始终为空

Node.js NodeJS req.body始终为空,node.js,express,postman,body-parser,Node.js,Express,Postman,Body Parser,My server.js代码: 关于controller.js 问题 req.body总是返回{},它是空对象,我不知道为什么 我试过的 我尝试了console.log(req),它返回了对象,但是body对象仍然是空的 客户端请求 我正在使用Postman表单数据来模拟客户请求 我找到了解决办法 我用的是Postman,我用的是表单数据而不是原始数据和json,效果很好,我还不知道为什么 您的邮递员请求不起作用的原因是您没有在应用程序中的任何位置解析表单数据。用于解析的唯一中间件是bodyPa

My server.js代码:

关于controller.js

问题

req.body总是返回
{}
,它是空对象,我不知道为什么

我试过的

我尝试了
console.log(req)
,它返回了对象,但是
body
对象仍然是空的

客户端请求

我正在使用Postman表单数据来模拟客户请求

我找到了解决办法


我用的是Postman,我用的是表单数据而不是原始数据json,效果很好,我还不知道为什么

您的邮递员请求不起作用的原因是您没有在应用程序中的任何位置解析
表单数据。用于解析的唯一中间件是
bodyParser.json()
,正如tin上所说,它解析json。例如,如果要解析
x-www-form-urlencoded
,可以使用
bodyParser.urlencoded()

如果您想让当前必须的工作正常进行,则需要发送JSON,而不是
表单数据


无论如何,
表单数据类型通常用于较大的有效负载(例如:文件)

您尚未指定如何执行客户端请求。是什么,您在HTML中使用
表单
?或者你用Postman测试它,或者你模拟请求?显示客户端请求,否则就不可能知道你做错了什么,你可能没有发送正确的内容类型,检查这个问题:是的,很明显,问题就在那里。您使用的中间件试图将正文负载解析为JSON,但您可能会在意外情况下发送表单数据或多部分。@IsaacCarolWeisberg您是对的,我将编辑我的问题。。我正在使用Postman@MarcosCasagrande我已经编辑了我的问题,你是对的,它被误用了。
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(function (req, res, next) {
    res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000');
    res.setHeader('Access-Control-Allow-Origin', '*');
    next();
});

const AboutController = require('./controllers/AboutController');
app.use('/about', AboutController);
router.post('/store', (req, res, next) => {
    // GETTING REQUEST DETAILS AND INITIALIZATION
    let content         = req.body.content;
    let company_name    = req.body.company_name;
    console.log(req.body);
});
module.exports = router;