2013-08-18 2 views
1

사용자가 성공적으로 가입하면 현재 대부분 빈 페이지가 표시되고 상단에 undefined. Redirecting to /app 텍스트가 표시됩니다.동기화 서버 응답 없음

업데이트 : 양식 제출 후/users로 리디렉션됨을 언급해야합니다. 그래서 위에/사용자가 위에서 언급 한 텍스트를 참조하십시오.

나는 그것이 req.redirect 호출이 user.save 콜백에 속해 있기 때문에 발생한다고 생각하지만 수정 사항을 잘 모르겠습니다.

나는 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 
      }); 
     }); 
    }); 

    }); 
}; 

답변

2

req.login 호출은 password.authenticate 콜백에 포함되어야한다는 것이 밝혀졌습니다. 사이트의 example은 그 부분을 나갔습니다.

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); 
});