我尝试使用Express和bcrypt在我的应用程序中设置注册功能,但我遇到了问题 . 我按照步骤来加密我的密码但我的变量newUser没有定义 . 有什么问题 ?
/
/ Register Form POST
const bcrypt = require('bcryptjs');
router.post('/register', (req, res) => {
const newUser = newUser ({
name: req.body.name,
surname: req.body.surname,
email: req.body.email,
password: req.body.password
});
bcrypt.genSalt(10, (err, salt) => {
bcrypt.hash(newUser.password, salt, (err, hash) => {
if(err) throw err;
newUser.password = hash;
newUser.save()
.then(user => {
req.flash('success msg', 'Vous êtes maintenant enregistré et pouvez vous connecter.');
res.redirect('/app');
})
.catch(err => {
console.log(err);
return;
});
});
});
});
2 回答
看起来像一个简单的拼写错误 .
const newUser = newUser ({
应为const newUser = new User({
new是一个关键字,它从类创建对象,在本例中为model
您将
newUser
指定为函数 . 但是,如果newUser
是一个猫鼬模式,那么正确的方法是:});