NodeJS req.body 始终为空



我的服务器.js代码:

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);

关于控制器.js

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;

问题

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

我试过什么

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

客户端请求

我正在使用邮递员表单数据来模拟客户端请求。

您的 Postman 请求不起作用的原因是您没有在应用中的任何位置解析form-data类型。您唯一用于解析的中间件是bodyParser.json(),正如它在锡上所说的那样,解析 JSON。例如,如果要解析x-www-form-urlencoded,可以使用bodyParser.urlencoded()

如果你想要你当前必须工作的东西,你需要发送它JSON,而不是form-data

无论如何,form-data类型通常用于较大的有效负载(例如:文件(

我找到了解决方案。

我正在使用邮递员,我使用的是表单数据而不是原始json,它工作得很好,我还不知道为什么!

最新更新