我正在尝试在视图文件中使用会话变量。我的控制器代码是这样的
User.find()
.where({ username: username })
.where({ password: password })
.exec(function(err, users) {
if(users.length == 1){
req.session.user_detail = users;
res.redirect('/member');
}else{
console.log(err);
}
});
我想在member.ejs文件中使用req.session.user_detail。
答案 0 :(得分:3)
对于记录,如果有人偶然发现此问题而不是this one,则默认情况下,您的Sails视图中确实可以使用req.session
。所以你可以做到
<%= JSON.stringify(req.session.user_detail) %>
在你看来;没有必要在res.locals
中明确传递它。您还可以通过以下方式遍历用户:
<% req.session.user_detail.forEach(function(user_detail) { %>
<%= JSON.stringify(user_detail) %>
<% }) %>
答案 1 :(得分:0)
我自己是nodejs / sailjs的新手,但据我所知,req.session没有暴露在视图中。我将会话中的数据传递给视图的方式如下:
res.locals.user_detail= _.clone(req.session.user_detail);
然后,您可以在视图中访问res.locals.user_detail。我不知道这是否是正确的方法,但这是我一直在使用并为我工作的。我希望这会对你有所帮助。
答案 2 :(得分:0)
试着像这样访问
session.user_detail