采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
登录之后username的值是给了req.session ,并没有给常量SESSION_DATA,login-test为什么可以获取到SESSION_DATA[userid]的内容呢
在登陆的时候是req.session 获取了username,在走验证登录信息接口的时候req.session还是从常量SESSION_DATA来的,但是常量一直没有获取到username的信息啊
代码中 SESSION_DATA[userid] = {} ,这已经对 SESSION_DATA 进行赋值了呀,只不过每次赋值的是一个 {} 而已。你可以每次请求时都打印一下 SESSION_DATA 看看是否有值。
另外,有一个细节问题我看其他同学有忽略过 —— req.session 存储的是当前用户的 session ,而 SESSION_DATA 存储的是所有用户的 session —— 这一点很重要。
我还是不太理解req.session的值是怎么写回到那个常量里面的。。。
SESSION_DATA[userid] = {} 然后 req.session = SESSION_DATA[userid] 。这样,SESSION_DATA[userid] 和 req.session 两个变量的指针就指向了同一个对象,因此修改 req.session 的值,也会同步修改 SESSION_DATA[userid] 的值。 JS 引用类型的基础知识,例如 var a = {}; b = a ; b.name = 'xxx'; a.name 是多少?
谢谢,明白了!
把核心代码贴出来吧,让其他同学看到问题也能看明白。
我贴了具体代码了,麻烦您能讲解一下
登录后可查看更多问答,登录/注册
从入门到实战,一站式掌握 Node.js+Express+Koa2
2.3k 16
1.4k 16
1.6k 15
1.4k 13