2014-07-26 21 views
0

我试图登录认证后,消息变量传递给我的EJS模板:表达角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 
}]); 

回答

0

如果你想你的JSON转义你会使用-;

<script>var message="<%-message%>";</script> 

但是,如果它根本不是模板,那么您还有其他问题。您可能需要使用JSON.stringify(obj)