Node.js nodejs在req.session.data中设置对象,但在下一个请求中未获取该数据?

Node.js nodejs在req.session.data中设置对象,但在下一个请求中未获取该数据?,node.js,session,express,Node.js,Session,Express,我正在req.session.data中设置对象 req.session.data = customObj; console.log(req.session.data); 它在req.session.data中显示正确的数据 但是在下一个请求中,当我打印会话对象数据时 console.log(req.session.data); 它显示“未定义” 我在下一个请求中都需要这些数据 如何解决此问题?我怀疑您没有启用会话存储 在启动express应用程序的位置,确保您有app.useexpr

我正在req.session.data中设置对象

 req.session.data = customObj;
 console.log(req.session.data);
它在req.session.data中显示正确的数据

但是在下一个请求中,当我打印会话对象数据时

 console.log(req.session.data);
它显示“未定义”

我在下一个请求中都需要这些数据


如何解决此问题?

我怀疑您没有启用会话存储

在启动express应用程序的位置,确保您有app.useexpress.session

例如:

更多信息:

结果是,正在运行

 req.session.save(function(err) {
        // session saved
    });
提交这些更改,并使其在当前范围外可访问-基本上是永久的,用于该req.session


我遇到了完全相同的问题,并通过反复试验幸运地解决了这个问题,应该注意的是,我不确定req.session.save可能包含哪些其他功能。

正如您明确注意到的,console.logreq.session打印出的内容与console.logreq.session.data不同;所以,您能在这里复制一下当console.logreq.session时打印出来的内容吗;例如CustomObj是CustomObj={name:'rajesh'};当我打印req.session时,它显示{passport:{},user:{userdata},data:{name:'rajesh'}},但在下一个请求中,req.session.data打印未定义
 req.session.save(function(err) {
        // session saved
    });