请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

app.use(bodyParser.json())无法正常解析数据

// 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; 的情况下也拿不到数据

暂时未找到原因

正在回答 回答被采纳积分+3

1回答

提问者 精壮的成年男子 2019-10-21 17:54:58

问题解决了
Request Payload的情况下设置Content-Type拼错一个字,导致 app.use(bodyParser.json()) 没有生效
content-type: multipart/form-data;时,需要另一个中间件帮助解析数据,我以为app.use(bodyParser.urlencoded({ extended: true }))就可以了

问题好像关不掉=。=

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信