我正在编写聊天程序,不知道如何存储用户名。当我将其存储到session.name
时,它在我运行的每个浏览器中都具有相同的值。不使用数据库就可以做到吗?
我就是这样做的:
var MemoryStore = express.session.MemoryStore,
sessionStore = new MemoryStore();
然后我只存储价值:
sessionStore.nickname=nickname
现在我运行浏览器填充昵称并将其发送到服务器。然后打开另一个浏览器,它已经有了这个值 - 我需要为每个浏览器提供不同的值。
答案 0 :(得分:1)
如果您要修改sessionStore
或session
,我不确定问题(甚至编辑后的版本)。上面的代码表明您正在修改sessionStore
,应对所有请求都相同。要向单个会话添加值,假设您还使用Express,则需要修改HTTP请求的session
变量。在Express 2.x中,这是使用request.session.nickname = nickname;
完成的。