前言
最近在使用express框架写Node代码,遇到一个问题使用body-parser模块失效。
整整困在这里一天时间!!!
res.send(req.body)
返回结果一直为空。
但是代码的书写又看不出什么问题。最后发现是代码书写顺序有问题。
解决
我把二级路由的错误的放在了body-parser的使用后面。
也就是说,我在body-parser还没有被调用前,就使用了它,当然req.body 等于空。
/*错误的*/
//为路由匹配请求路径(没有运行bodyParser,就自行进入了二级路由)
app.use('/home',home);
app.use('/admin',admin);
//使用bodyParser
app.use(bodyParser.json());//数据JSON类型
app.use(bodyParser.urlencoded({ extended: false }));//解析post请求数据
/*正确的*/
//使用bodyParser
app.use(bodyParser.json());//数据JSON类型
app.use(bodyParser.urlencoded({ extended: false }));//解析post请求数据
//为路由匹配请求路径
app.use('/home',home);
app.use('/admin',admin);
只需要要把调用bodyParser的代码前置就可以了。