如何检查Node.js Express中的会话?
我尝试检查Express 4中的会话是否存在:
if(req.session.user == undefined) {}
它给了我错误:
Cannot read property 'user' of undefined
如何检查会话中是否存在值?
回答如下:来自source:
如何使用Express Session?
在前往实际代码之前,我想简单介绍一下快速会话模块。要使用此模块,您必须在项目中包含express。与所有包装一样,我们必须首先包含它。
server.js var express = require('express'); var session = require('express-session'); var app = express();
在此之后,我们必须初始化会话,我们可以通过使用以下内容来完成此操作。
app.use(session({secret: 'ssshhhhh'}));
这里的'秘密'用于cookie处理等,但我们必须在Express中管理Session的秘密。
现在使用'request'变量,您可以将会话分配给任何变量。就像我们在PHP中使用$ _SESSION变量一样。例如
var sess; app.get('/',function(req,res){ sess=req.session; /* * Here we have assign the 'session' to 'sess'. * Now we can create any number of session variable we want. * in PHP we do as $_SESSION['var name']. * Here we do like this. */ sess.email; // equivalent to $_SESSION['email'] in PHP. sess.username; // equivalent to $_SESSION['username'] in PHP. });
在创建像sess.email这样的Session变量之后,我们可以检查是否在其他路由器中设置了这个变量,并且可以轻松跟踪Session。
如何检查Node.js Express中的会话?
我尝试检查Express 4中的会话是否存在:
if(req.session.user == undefined) {}
它给了我错误:
Cannot read property 'user' of undefined
如何检查会话中是否存在值?
回答如下:来自source:
如何使用Express Session?
在前往实际代码之前,我想简单介绍一下快速会话模块。要使用此模块,您必须在项目中包含express。与所有包装一样,我们必须首先包含它。
server.js var express = require('express'); var session = require('express-session'); var app = express();
在此之后,我们必须初始化会话,我们可以通过使用以下内容来完成此操作。
app.use(session({secret: 'ssshhhhh'}));
这里的'秘密'用于cookie处理等,但我们必须在Express中管理Session的秘密。
现在使用'request'变量,您可以将会话分配给任何变量。就像我们在PHP中使用$ _SESSION变量一样。例如
var sess; app.get('/',function(req,res){ sess=req.session; /* * Here we have assign the 'session' to 'sess'. * Now we can create any number of session variable we want. * in PHP we do as $_SESSION['var name']. * Here we do like this. */ sess.email; // equivalent to $_SESSION['email'] in PHP. sess.username; // equivalent to $_SESSION['username'] in PHP. });
在创建像sess.email这样的Session变量之后,我们可以检查是否在其他路由器中设置了这个变量,并且可以轻松跟踪Session。