繁体   English   中英

语法错误:JSON中的意外令牌}

[英]SyntaxError: Unexpected token } in JSON at position

我正在尝试通过使用Passportjs创建注册路线。 在使用邮递员的请求下,我在位置119的JSON中收到以下错误:SyntaxError:Unexpected token}
在JSON.parse(<anonymous>)

下面是我的代码:

const express = require("express");
const router = express.Router();
const gravatar = require("gravatar");
const bcrypt = require("bcryptjs");
const jwt = require("jsonwebtoken");
const keys = require("../config/keys");
const passport = require("passport");
//load input validation
const validateRegisterInput = require("../validation/register");
//user model
const User = require("../models/User");

router.get("/test", (req, res) => res.json({ msg: "user route works" }));

//post - api/users/register
router.post("/register", (req, res) => {
  const { errors, isValid } = validateRegisterInput(req.body);
  //check validation
  if (!isValid) {
    return res.status(400).json(errors);
  }
  User.findOne({ email: req.body.email }).then(user => {
    if (user) {
      errors.email = "Email already exists";
      return res.status(400).json(errors);
    } else {
      const avatar = gravatar.url(req.body.email, {
        s: "200", // Size
        r: "pg", // Rating
        d: "mm" // Default
      });

      const newUser = new User({
        name: req.body.name,
        email: req.body.email,
        password: req.body.password,
        avatar
      });


      bcrypt.genSalt(10, (err, salt) => {
        bcrypt.hash(newUser.password, salt, (err, hash) => {
          if (err) throw err;
          newUser.password = hash;
          newUser
            .save()
            .then(user => res.json(user))
            .catch(err => console.log(err));
        });
      });
    }
  });
});

module.exports = router;

以下是我使用邮递员的要求:

{
  "name":"Harry",
  "email": "harrypotter@gmail.com",
  "password" : "harry",
  "avatar" : "https://image.jpg",
}

根据您的代码,您需要在体内发送password2。 因此,请使用下面的curl进行请求,您会没事的。

curl -X POST \\ http:// localhost:8080 / api / users / register \\ -H'缓存控制:无缓存'\\ -H'内容类型:application / json'\\
-H'邮递员令牌:c437c084-def1-427f-bf43-33b92a747244'\\ -d'{“ name”:“ Harry”,“ email”:“ harrypotter@gmail.com”,“ password”:“ harry12”, “ password2”:“ harry12”,“头像”:“ https://image.jpg ”}“

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM