我的server.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);
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 来模拟客户端请求。
答案 0 :(得分:0)
我找到了解决方案..
我使用的是Postman,我使用 form-data 代替原始和 json ,它运行正常我不知道为什么但!
答案 1 :(得分:0)
您的邮递员请求无效的原因是您没有在应用中的任何位置解析form-data
类型。您解析的唯一中间件是bodyParser.json()
,正如它在锡上所说,解析JSON。例如,如果您要解析x-www-form-urlencoded
,则可以使用bodyParser.urlencoded()
。
如果你想要你目前的工作,你需要发送JSON,而不是form-data
无论如何,form-data
类型通常用于更大的有效负载(例如:文件)