看了这个例子
var sess;
app.get('/',function(req,res){
sess=req.session;
//Session set when user Request our app via URL
if(sess.email)
{
/*
* This line check Session existence.
* If it existed will do some action.
*/
res.redirect('/admin');
}
else{
res.render('index.html');
}
});
app.post('/login',function(req,res){
sess=req.session;
//In this we are assigning email to sess.email variable.
//email comes from HTML page.
sess.email=req.body.email;
res.end('done');
});
我的理解是:当用户登录时,服务器会为他/她生成会话ID,假设这是第一次登录。
但是在上面的登录代码中,
1. sess = req.session,听起来像客户端首先创建一个会话对象?
或客户正在创建会话存储空间?
2.谁设置session.id或sessionID?
3.更好的例子吗?
原始样本在这里 https://codeforgeek.com/2014/09/manage-session-using-node-js-express-4/
答案 0 :(得分:0)
我也像你一样学习节点。如果你继续你的旅程,你会遇到很多类似的好奇心,因为方式节点在模块后面工作。
我也有很多问号,但我不能每次都找到正确的答案。我建议的是获取node-inspector,一个节点调试器工具,然后实际完成。
通过这种方式,您将真正了解每个模块正在做什么。
说明:https://www.youtube.com/watch?v=03qGA-GJXjI
这条指令没有告诉的重要提示是节点断点有点奇怪。
我肯定会使用"调试器;"放置断点的代码,而不是工具提供的breakpointer。