[英]Sending a POST request with chai sends an empty body?
我现在有以下设置
test.js
var user = {
username: 'test_user',
email: 'test@test.me',
password: 'you shall not pass',
address: 'No where street'
};
chai.request(app)
.post('/api/v1/users')
.send(user);
我正在我的route / user.js中处理发布请求
router.post('/', function(req, res, next) {
console.log('body: ' + req.body);
queries.insertUser(req.body)
.then(function(id) {
return queries.getSingleUser(id);
})
.then(function(user) {
res.status(200).json(user);
})
.catch(function(err) {
next(err);
});
});
req.body最终未定义。 关于可能出什么问题的任何线索?
如果有人想看一下,该代码位于https://ide.c9.io/burtonium/node-from-scratch 。
req.body
未定义通常是由于未在Express中使用body-parser
中间件,或未正确声明它(例如, 在要访问req.body
的路由之后 )引起的。
假设Chai发送JSON,请将其添加到您的Express应用中:
app.use(require('body-parser').json());
(在声明路由器之前)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.