我想消息变量传递给我的登录认证后EJS模板:
app.post('/login', passport.authenticate('local-login', {
successRedirect : '/profile',
failureRedirect : '/login',
failureFlash : true
}));
然后代码在get块:
if(req.isAuthenticated()) res.render('partials/' + name, { message: 'test' });
所以,如果登录失败,用户会收到通知。 局部的login.ejs会显示消息,但消息未在模板中显示:
<script>var message = "<%=message%>";</script>
<div class="col-sm-6 col-sm-offset-3">
<h1 class="form-fonts"><span class="fa fa-sign-in"></span>Login</h1>
<!-- show any messages that come back with authentication -->
<div ng-if="message.length > 0" class="alert alert-danger">{{message}}</div>
然而,当我看到在控制器中记录的信息:
app.controller('LoginCtrl', ['$scope', '$http',
function($scope, $http) {
console.log('message: ' + message); // outputs message: test
}]);