在sails.js中处理视图文件中的会话变量

时间:2014-01-31 11:50:11

标签: node.js sails.js

我正在尝试在视图文件中使用会话变量。我的控制器代码是这样的

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。

3 个答案:

答案 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