我有节点js(expressjs)网站。在这个网站上我可以登录或注册。 例如:
router.get("/signin", function(req, res) {
res.render("signin");
});
和
router.post('/signin', passport.authenticate('login', {
succsessRedirect: '/',
failureRedirect: '/signin',
failureFlash: true
}));
我也有注册码。
router.post('/signup', function(req, res, next) {
var username = req.body.username;
var email = req.body.email;
var password = req.body.password;
var fname = req.body.fname;
var age = req.body.age;
User.findOne({ username: username }, function(err, user) {
if (err) {
return next(err);
}
if (user) {
req.flash('error', 'User already exists');
return res.redirect('/signup');
}
var newUser = new User({
username: username,
email: email,
password: password,
fname: fname,
age: age
});
newUser.save(next);
});
}, passport.authenticate('login', {
succsessRedirect: '/',
failureRedirect: '/signup',
failureFlash: true
}));
一切正常,所以当我尝试注册时,我的网站在数据库中注册我(我使用mongoDB和护照js第三方中间件)但是当护照应该将我重定向到主页“/”它没有' Ť 并出现错误“无法发布/注册”。登录时也会出现此问题。你有什么建议我做的?提前谢谢。
答案 0 :(得分:0)
您似乎需要更改代码
newUser.save(next);
类似
newUser.save(function(err, newUser){return res.redirect('/');});