我的服务器.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,它工作得很好,我还不知道为什么!