2017-12-14 8 views
0

노드 js (expressjs) 웹 사이트가 있습니다. 이 웹 사이트에서는 로그인하거나 가입 할 수 있습니다. 예를 들어 :노드 js에 게시 할 수 없습니다

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 타사 미들웨어를 사용)하지만 때 여권을 메인 페이지에 저를 리디렉션해야 나를 가입/"그것은 이 아니며"Can not POST/signup "오류가 나타납니다. 이 문제는 로그인 할 때도 발생합니다. 내가 너에게 무엇을 제안 할 수 있니? 미리 감사드립니다.

답변

0

:(당신이

newUser.save(function(err, newUser){return res.redirect('/');}); 
+0

그것은 도움이되지 않습니다 같은 코드 뭔가에

newUser.save(next); 

을 변경해야 할 것 같습니다 – Genjik