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

我想在我的视图文件中使用会话variables。 我的控制器代码是这样的

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。

       

网上收集的解决方案 "在sails.js的视图文件中处理会话variables"

为了logging,如果有人绊倒了这个问题,而不是这个问题, req.session在Sails视图中默认是可用的。 所以你可以做

 <%= JSON.stringify(req.session.user_detail) %> 

在你看来; 没有必要在res.locals明确地传递它。 您还可以通过以下方式循环访问用户:

 <% req.session.user_detail.forEach(function(user_detail) { %> <%= JSON.stringify(user_detail) %> <% }) %> 

我自己是nodejs / sailjs的新手,但是据我所知,req.session并没有被暴露在意见之中。 我一直将数据从会话传递到视图的方式如下:

 res.locals.user_detail= _.clone(req.session.user_detail); 

然后可以从视图中访问res.locals.user_detail。 我不知道这是否是正确的方法,但这是我一直在使用和为我工作。 我希望这可以帮助你。

试试像这样访问

 session.user_detail