app.use(bodyParser.json())无法正常解析数据
来源:5-11 获取响应数据 - 需求分析+实现

精壮的成年男子
2019-10-21
// server.js
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
router.post('/fking/post', function(req, res) {
console.log(req.body)
res.json(req.body)
})
// demo
axios({
method: 'post',
url: '/fking/post',
data: {
a: 1,
b: 2
}
}).then((res) => {
console.log(res)
})
axios({
method: 'post',
url: '/fking/post',
data: new URLSearchParams('q=URLUtils.searchParams&topic=api')
}).then((res) => {
console.log(res)
})
let formdata = new FormData()
formdata.append('a', 1)
formdata.append('b', 2)
axios({
method: 'post',
url: '/fking/post',
data: formdata
}).then((res) => {
console.log(res)
})
Request Payload的情况下拿不到解析后的数据
FormData在content-type: application/x-www-form-urlencoded的情况下可以拿到数据
FormData在content-type: multipart/form-data; 的情况下也拿不到数据
暂时未找到原因
写回答
1回答
-
精壮的成年男子
提问者
2019-10-21
问题解决了
Request Payload的情况下设置Content-Type拼错一个字,导致 app.use(bodyParser.json()) 没有生效
content-type: multipart/form-data;时,需要另一个中间件帮助解析数据,我以为app.use(bodyParser.urlencoded({ extended: true }))就可以了
问题好像关不掉=。=00
相似问题