如何修复与和的NodeJS MongoDB的这个语法错误

问题描述 投票:0回答:3

我有我的脚本语法错误,我不明白...我检查了这么多时间,请帮助


if(errors) {
          res.render('register',{
        errors:errors,
    });
  } else {
    User.findOne({ email: email }).then(user => {
      if (user) {
        req.flash('error_msg','This adress mail is already in db');
        res.render('register', {
          errors:errors
        })
  } else {
        var newUser = new User({
            email:email,
            username: username,
            password: password
        });
     User.createUser(newUser, function(err, user){
      if(err) throw err;
      console.log(user);
    });

    req.flash('success_msg', 'You create an account, u can now log');

    res.redirect('/users/login');
  }
})

在我VSCODE问题的错误:(但第126行的我最后我的网页线...)


[ts] '{' expected. [1005] (126,25)

而在我的终端


});
 ^

SyntaxError: Unexpected token )
    at new Script (vm.js:79:7)
    at createScript (vm.js:251:10)
    at Object.runInThisContext (vm.js:303:10)
    at Module._compile (internal/modules/cjs/loader.js:657:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (C:\Users\Corentin\Documents\newLoginapp\index.js:22:15)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)

请帮它一点点错误,但我是个初学者,我不明白问题出在哪里..

javascript node.js mongodb
3个回答
0
投票

你错过了最后}从else语句

if (errors) {
  res.render('register', {
    errors: errors,
  });
} else {
  User.findOne({
    email: email
  }).then(user => {
    if (user) {
      req.flash('error_msg', 'This adress mail is already in db');
      res.render('register', {
        errors: errors
      })
    } else {
      var newUser = new User({
        email: email,
        username: username,
        password: password
      });
      User.createUser(newUser, function (err, user) {
        if (err) throw err;
        console.log(user);
      });

      req.flash('success_msg', 'You create an account, u can now log');

      res.redirect('/users/login');
    }
  })
}  //<-- This one

0
投票

这一次是在vscode没有错误,但是当我点击了重复的电子邮件没有提交按钮出现,并在第二次点击有形式错误消息......我认为它因为的结束我的其他User.findOne结束重定向的用户/登录...但在PU当“}”在其他的req.flash(“ERROR_MSG”)的末端有9+错误,所以我不RLY undersand

    router.post('/register', function(req, res) {
  var name = req.body.name;
  var email = req.body.email;
  var username = req.body.username;
  var password = req.body.password;
  var password2 = req.body.password2;

  req.checkBody('username', 'Veuillez renseigner un identifiant').notEmpty();
  req.checkBody('email', 'Veuillez renseigner une adresse email valide').isEmail();
  req.checkBody('password', 'Veuillez renseigner un mot de passe').notEmpty();
  req.checkBody('password2', 'Les mots de passe ne correspondent pas').equals(req.body.password);

  var errors = req.validationErrors();

  if (errors) {
    res.render('register', {errors:errors});
  } else {
    User.findOne({ email: email }).then(user => {
      if (user) {
        res.render('register', {errors:errors})
        req.flash('error_msg','Adresse email non dispo')
  } else {
        var newUser = new User({
            email:email,
            username: username,
            password: password
        })
     User.createUser(newUser, function(err, user){
      if(err) throw err;
      console.log(user);
    })

    req.flash('success_msg', 'Vous venez de créer un compte, vous pouvez désormais vous connecter');

    res.redirect('/users/login');
  }
})
}})

0
投票

缺少“}”末

更新后的代码:

if (errors) {
    res.render('register', {
        errors: errors,
    });
} else {
    User.findOne({
        email: email
    }).then(user => {
        if (user) {
            req.flash('error_msg', 'This adress mail is already in db');
            res.render('register', {
                errors: errors
            })
        } else {
            var newUser = new User({
                email: email,
                username: username,
                password: password
            });
            User.createUser(newUser, function(err, user) {
                if (err) throw err;
                console.log(user);
            });

            req.flash('success_msg', 'You create an account, u can now log');

            res.redirect('/users/login');
        }
    })
}
© www.soinside.com 2019 - 2024. All rights reserved.