取消同步服务器响应

在一个用户的成功注册,我目前看到一个大多为空的页面,文字undefined. Redirecting to /app undefined. Redirecting to /app顶部的undefined. Redirecting to /app

更新:我还应该提到,表单提交后,我被redirect到/用户。 所以/用户我看到上面提到的文字。

我认为这是因为req.redirect调用在user.savecallback中,但我不确定修复是什么。

我正在使用mongoose作为ORM。

 var User = require('../models/user'); module.exports = function(app) { app.post('/users', function(req, res, next) { var user = new User({ email: req.body.email, password: req.body.password }); user.save(function(err) { if (err) res.send(412, {message: err}); else req.login(user, function(err) { if (err !== undefined) return next(err); res.redirect('/app', { email: user.email, id: user._id }); }); }); }); }; 

       

网上收集的解决方案 "取消同步服务器响应"

事实certificate,req.login调用必须包含在password.authenticatecallback中。 在网站上的例子留下了这一部分。

 user.save(function(err) { if (err) res.send(412, {message: err}); else passport.authenticate('local', function(err, user) { if (err) { return next(err) } if (!user) { return res.redirect('/login') } req.login(user, function(err) { if (err) { return next(err); } return res.redirect('/app', { email:user.email, id:user._id }); }); })(req, res, next); });