为什么 Express Js 即使在使用正文解析器后仍显示未定义的请求正文?
Why is Expess Js showing request body undefined even after using body parser?
即使在使用 body-parser 之后,我仍然遇到请求主体未定义的问题。我也在使用前缀路由。
//adding router
const route = require('./routes/route')
app.use('/api',route)
//body-parser
app.use(bodyParser.json())
这就是问题。
TypeError: Cannot read property 'firstName' of undefined
at E:\Projects\MEAN\routes\route.js:24:29
at Layer.handle [as handle_request] (E:\Projects\MEAN\node_modules\express\lib\router\layer.js:95:5)
at next (E:\Projects\MEAN\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (E:\Projects\MEAN\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (E:\Projects\MEAN\node_modules\express\lib\router\layer.js:95:5)
at E:\Projects\MEAN\node_modules\express\lib\router\index.js:281:22
at Function.process_params (E:\Projects\MEAN\node_modules\express\lib\router\index.js:335:12)
at next (E:\Projects\MEAN\node_modules\express\lib\router\index.js:275:10)
at Function.handle (E:\Projects\MEAN\node_modules\express\lib\router\index.js:174:3)
at router (E:\Projects\MEAN\node_modules\express\lib\router\index.js:47:12)
at Layer.handle [as handle_request] (E:\Projects\MEAN\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (E:\Projects\MEAN\node_modules\express\lib\router\index.js:317:13)
at E:\Projects\MEAN\node_modules\express\lib\router\index.js:284:7
at Function.process_params (E:\Projects\MEAN\node_modules\express\lib\router\index.js:335:12)
at next (E:\Projects\MEAN\node_modules\express\lib\router\index.js:275:10)
at expressInit (E:\Projects\MEAN\node_modules\express\lib\middleware\init.js:40:5)
问题是在我使用 body-parser 配置之上的路由器配置时引起的
像这样
//adding router
const route = require('./routes/route')
app.use('/api',route)
//body-parser
app.use(bodyParser.json())
但只需更改顺序即可解决我的问题。
像这样,
//body-parser
app.use(bodyParser.json())
//adding router
const route = require('./routes/route')
app.use('/api',route)
即使在使用 body-parser 之后,我仍然遇到请求主体未定义的问题。我也在使用前缀路由。
//adding router
const route = require('./routes/route')
app.use('/api',route)
//body-parser
app.use(bodyParser.json())
这就是问题。
TypeError: Cannot read property 'firstName' of undefined
at E:\Projects\MEAN\routes\route.js:24:29
at Layer.handle [as handle_request] (E:\Projects\MEAN\node_modules\express\lib\router\layer.js:95:5)
at next (E:\Projects\MEAN\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (E:\Projects\MEAN\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (E:\Projects\MEAN\node_modules\express\lib\router\layer.js:95:5)
at E:\Projects\MEAN\node_modules\express\lib\router\index.js:281:22
at Function.process_params (E:\Projects\MEAN\node_modules\express\lib\router\index.js:335:12)
at next (E:\Projects\MEAN\node_modules\express\lib\router\index.js:275:10)
at Function.handle (E:\Projects\MEAN\node_modules\express\lib\router\index.js:174:3)
at router (E:\Projects\MEAN\node_modules\express\lib\router\index.js:47:12)
at Layer.handle [as handle_request] (E:\Projects\MEAN\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (E:\Projects\MEAN\node_modules\express\lib\router\index.js:317:13)
at E:\Projects\MEAN\node_modules\express\lib\router\index.js:284:7
at Function.process_params (E:\Projects\MEAN\node_modules\express\lib\router\index.js:335:12)
at next (E:\Projects\MEAN\node_modules\express\lib\router\index.js:275:10)
at expressInit (E:\Projects\MEAN\node_modules\express\lib\middleware\init.js:40:5)
问题是在我使用 body-parser 配置之上的路由器配置时引起的
像这样
//adding router
const route = require('./routes/route')
app.use('/api',route)
//body-parser
app.use(bodyParser.json())
但只需更改顺序即可解决我的问题。 像这样,
//body-parser
app.use(bodyParser.json())
//adding router
const route = require('./routes/route')
app.use('/api',route)