使用postman请求/api/post-data接口时没有返回前面设置的req.body
来源:10-5 express中间件
慕雪5269978
2019-12-24
app.post('/api/post-data', (req, res, next) => {
console.log('post api/post-data路由')
console.log(req.body)
res.json({
errno: 0,
data: req.body
})
})
使用postman请求这个接口时没有返回前面设置的req.body,加了打印前面设置的那个也执行了,这里打印输出undefined。不知道是什么原因
写回答
3回答
-
慕雪5269978
提问者
2019-12-25
const express = require('express') // http请求实例 const app = express() // app.use((req, res, next) => { // console.log('请求开始...', req.method, req.url) // next() // }) app.use((req, res, next) => { console.log('sss') setTimeout(() => { console.log('aaa') req.body = { a: 100, b: 200 } }) next() }) app.post('/api/post-data', (req, res, next) => { console.log('post api/post-data路由') console.log(req.body) res.json({ errno: 0, data: req.body }) }) app.use((req, res, next) => { console.log('处理404') res.json({ errno: -1, msg: '404 not find' }) }) app.listen(3000, () => { console.log('server is running on port 3000') })
老师,输出还是不对,终端打印信息如下:
server is running on port 3000 sss post api/post-data路由 undefined aaa
042019-12-26 -
慕雪5269978
提问者
2019-12-25
前面设置req.body使用的是setTimeout来模拟异步处理,添加打印信息发现控制台打印的消息设置req.body是在/api/post-data这个接口处理完之后设置的值。不明白视频里setTimeout函数也没设置延迟时间但是为何会在之后,如果不使用setTimeout函数直接设置值请求接口则返回的是和视频里结果一样的
022019-12-25 -
双越
2019-12-24
postman 返回的是什么?截图看下。
00
相似问题