Node.js Express SessionParser如何在客户端准确地存储数据?

Node.js Express SessionParser如何在客户端准确地存储数据?,node.js,session,express,Node.js,Session,Express,在我当前的设置中,SessionParser设置为与CookieParser一起工作,但我不确定如何以这种方式访问cookie数据集: request.session.myKey = "myValue" 从客户端浏览器?首先,在下面的代码中设置会话变量: request.session.myKey = "myValue" 会话变量存储在服务器上的内存、redis、mongo或任何位置。除非您实现了一些变通方法,否则无法在客户端访问会话变量 解决方法-1 在表单中创建隐藏变量,并在呈现响应时将

在我当前的设置中,SessionParser设置为与CookieParser一起工作,但我不确定如何以这种方式访问cookie数据集:

request.session.myKey = "myValue"

从客户端浏览器?

首先,在下面的代码中设置会话变量:

request.session.myKey = "myValue"
会话变量存储在服务器上的内存、redis、mongo或任何位置。除非您实现了一些变通方法,否则无法在客户端访问会话变量

解决方法-1 在表单中创建隐藏变量,并在呈现响应时将会话变量和值设置为隐藏表单元素

解决方法-2 启动ajax请求并返回包含会话变量和值的json结果

Cookie变量存储在客户端浏览器上,在DOM中作为document.Cookie以名称=值对格式提供,例如myKey1=myValue1;myKey2=myValue2。您可以使用原始JavaScript访问这些值,但需要拆分document.cookie的内容并搜索cookie的名称。如果客户机上有jQuery,请使用jQuery,因为它可以避免您重新发明轮子

然而,我认为您确实需要首先了解cookie和会话是如何结合在一起的,以提供http协议的状态以及使用cookie的安全含义

我希望我为你指出了找到解决办法的正确方向


SO1

是的,感谢您对会话和cookie差异的深入了解。实际上,我最终使用的是localStorage,因为我不需要在每次请求时将数据传输到服务器。