【问题标题】:How to fix Unexpected token - in JSON at position 0?如何修复意外的令牌 - 在位置 0 的 JSON 中?
【发布时间】:2019-12-03 05:53:20
【问题描述】:

我正在尝试使用 http post 请求在邮递员中创建一个用户。我使用表单数据输入键和值,但会出现错误提示 SyntaxError: Unexpected token - in JSON at position 0. 我该如何解决?

app.post('/signup', upload.single('img'), (req, res) => {
    User.create({
        name: req.body.name,
        address: req.body.address,
        email: req.body.email,
        password: req.body.password,
        contact: req.body.contact,
        event: req.body.event,
        price: req.body.price,
        packages: req.body.packages,
        img: req.body.filename
    }, function (err, User) {
        if (err) {
            res.send(err)
        } else {
            var token = jwt.sign({ id: User._id }, config.secret, { expiresIn: 86400 });
            res.send({ auth: true, token: token });
        }
    });
});

【问题讨论】:

  • @PrincessJoy Duran 你能发布你的signup 代码吗??
  • app.post('/signup', upload.single('img'), (req, res) => { User.create({ name: req.body.name, address: req .body.address,电子邮件:req.body.email,密码:req.body.password,联系人:req.body.contact,事件:req.body.event,价格:req.body.price,包裹:req.body .packages, img: req.body.filename }, function (err, User) { if (err) { res.send(err) }else{ var token = jwt.sign({ id: User._id }, config.秘密,{ expiresIn: 86400 }); res.send({ auth: true, token: token }); } }); });
  • 您必须在“正文”菜单中选择“原始”格式并选择 JSON 并将您的 JSON 请求正文写入 JSON 格式。
  • 我做了@RaminRezazadeh。但仍然是同样的错误。我也尝试了表单数据,但仍然会出现同样的错误。

标签: node.js mongoose http-post postman


【解决方案1】:

您必须在“正文”菜单中选择“原始”格式并选择 JSON 并将您的 JSON 请求正文写入 JSON 格式。像下面这样:

【讨论】:

    【解决方案2】:

    我只是试图重新打开我的邮递员并重写我的代码。

    app.post('/account', upload.single('img'), (req, res) => {
      let data = {
        name: req.body.name,
        address: req.body.address,
        email: req.body.email,
        password: req.body.password,
        contact: req.body.contact,
        event: req.body.event,
        price: req.body.price,
        packages: req.body.packages,
        img: req.file.filename
      }
      let user = new User(data);
      user.save()
        .then((doc) => {
          var token = jwt.sign({ id: doc.email}, config.secret, {
            expiresIn: 86400 // expires in 24 hours
          });
          res.status(200).send({ auth: true, token: token });
          res.end();
        })
        .catch(err => {
          res.status(500).send("There was a problem registering the user.")
        })
    });
    

    现在可以了!感谢您的回复。

    【讨论】:

      猜你喜欢
      • 2016-12-13
      • 1970-01-01
      • 2020-02-05
      • 2021-09-12
      • 2018-10-17
      相关资源
      最近更新 更多