我现在有以下设置
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);
我正在处理我的routes / 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生效。
答案 0 :(得分:1)
req.body
未定义通常是由于未在Express中使用body-parser
中间件或未正确声明(例如在之后想要访问的路由{} {1}})。
假设Chai发送JSON,请将其添加到Express应用程序中:
req.body
(在声明路由器之前)