node.js post方式获取axios传过来的参数有问题

我做登录功能,前台用vue,axios发送post请求给nodejs服务器,发送方式是这样的:

clipboard.png

然后我后台接收,按理说直接req.body.userName就能获得用户名,可是要req.req.body.userName才能获取,之后给前台返回数据也是,直接报 res.json is not a function

clipboard.png

阅读 5.4k
2 个回答

因为你 router.post('login', function(res, req, next) ) 写反了,按照规则是 req 在前,res 在后。

第一,在axios提交的时候加个

{
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }

第二,把你的data 用qs.stringify(data)转换一下,记得导入qs包

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题