2016-07-25 55 views
0

我试图在任何地方找到解决方案,但没有运气。使用passportjs和nodejs连接闪存json响应

我的路线上我的NodeJS API的应用程序,如:

app.post('/login', passport.authenticate('local-login', { 
    successRedirect: '/profile', 
    failureRedirect: '/login', 
    failureFlash: true 
})); 

然后,在我的护照的策略是这样的:

passport.use('local-login', new LocalStrategy({ 
    usernameField: 'email', 
    passwordField: 'password', 
    passReqToCallback: true 
}, 
    function (req, email, password, done) { 
     User.findOne({ 'local.email': email }, function (err, user) { 
      if (err) { 
       return done(err); 
      } 
      if (!user) { 
       return done(null, false, req.flash('LoginMessage', 'No User Found!')); 
      } 
      if (user.local.password != password) { 
       return done(null, false, req.flash('LoginMessage', 'Wrong Password!')); 
      } else { 
       return done(null, user); 
      } 
     }) 
    } 
)); 

我需要什么,是接收消息的JSON返回我的路线,所以我可以使用Angularjs或其他任何外部应用程序访问它。所以输出会是这样的:

{ 
"message": "User Not Found!" 
} 

我怎样才能解决这个问题?

回答

0

要初始化message作为角变量,你可以在你的视图文件做到这一点(如果你使用ejs):

ng-init="message = '<%= message %>'" 

进一步,美国可以用这个变量

工作