【发布时间】:2023-03-20 22:05:02
【问题描述】:
我正在尝试在登录身份验证后将消息变量传递给我的 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
}]);
【问题讨论】: