用chai发送一个POST请求发送一个空的正文?
我现在有以下设置
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 。
req.body
是未定义的,通常是由于在Express中没有使用body-parser
中间件,或者声明不正确(例如, 在想要访问req.body
的路由之后 )。
假设柴发送JSON,添加到您的快速应用程序:
app.use(require('body-parser').json());
(在你声明路由器之前)