nodejs 中的会话被部分存储

Session in nodejs is being partially stored

我正在开发一个在会话中存储 cassie 对象的应用程序。这里 cassie 对象被部分存储 在会话中。

这是设置会话 命名为 cassie

的屏幕截图

这是 获取名为 cassie

的会话 的屏幕截图

此处仅获取一致性和类型对象,而不获取其他对象。 我究竟做错了什么?以及如何在会话中存储 cassie 对象?

发生这种情况是因为您的会话对象正在通过调用 JSON.stringify() 进行序列化,并以 json 格式作为纯文本存储在会话中。函数不能以 JSON 格式存储并跳过。这里有一些示例:

var session = {
    not_stored_as_text: function() {
        console.log('test');
    },
    stored_as_text_ok: [ "Some string", {}, 1 ]
};

console.log(session); // { not_stored_as_text: [Function], stored_as_text_ok: [ 'Some string', {}, 1 ] }
console.log(JSON.stringify(session)); // {"stored_as_text_ok":["Some string",{},1]}

为了解决这个问题,您可以在会话中存储身份验证所需的纯数据,并从中手动创建您的 cassie 对象。