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

发布于 2022-09-05 23:38:32 字数 1548 浏览 7 评论 0

前台请求

        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。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不甘平庸 2022-09-12 23:38:32

req.query 换成 req.body试试?

庆幸我还是我 2022-09-12 23:38:32

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文