为什么这个接口接受不到数据呢

前台请求

        fetch('/api/user/signup', {
            method: 'POST',
            body: JSON.stringify({
              name: name,
              pwd: password
            }),
            headers: {
              'Content-Type': 'application/json'
            }
          }).then(function(res){
              console.log(res.code)
          })

后台接口

app.post('/api/user/signup', function (req, res) {

    let name = req.query.name
    let pwd = req.query.pwd
    console.log(name)
    if (!name) {
      console.log(name)
      res.json({code: 600, msg:'name 不能为空!'})
      return
    }
    if (!pwd) {
      res.json({code: 600, msg:'pwd 不能为空!'})
      return
    }
    db.userModel.findOne({name: req.query.name}, function(err, doc){
      if (err) {
        console.log('查询出错:' + err);
        res.json({code: 700, msg:'查询出错:' + err})
        return
      } else {
        if (doc) {
          res.json({code: 700, msg:'该用户名名已经被注册:' + name})
          return
        } else {
          db.userModel.create({
            name: name,
            pwd: pwd
          }, function (err, doc) {
            if (err) {
              res.end('注册失败:' + err)
            } else {
              res.json({code: 200, msg:'用户注册成功:' + name})
              return
            }
          })
        }

      }
    })
  })

用的是express+moongose,console了这个两个name,都是undefined,但是确实调用了app.post ,也试过对前台数据进行JSON.stringfy,用过body-parser,都不能获取数据,前台是用的react+antd,为什么呢。。跨域是配置了 proxy,前台的console也是undefined。。

阅读 3k
2 个回答

req.query 换成 req.body试试?

新手上路,请多包涵

post 请求 req.body get请求req.query

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