页面刷新时未定义Sails.js会话

时间:2017-06-14 09:41:04

标签: node.js session sails.js

在我的sails.js应用程序中,我正在设置这样的会话

    req.session.userId="hello";
    console.log(req.session.userId);

在第一次请求后,我隐藏了这一行req.session.userId="hello";

之后console.log(req.session.userId)返回undefined

1 个答案:

答案 0 :(得分:1)

在没有看到更多控制器代码的情况下很难,但是您设置的会话属性仅在完成控制器操作后才会被处理为会话 - 例如返回视图或json。

尝试:

if(req.session && req.session.userId){
  //This user has an active session already so we have a userid
  sails.log.info(req.session.userId);
else{
  //Must be the first time this action was executed
  req.session.userId = 'hello';
}
res.view('index');

其中index是ejs视图的名称。如果您从未返回任何内容,则永远不会设置会话属性。