Express.js req.session变量未通过不同的路由存储会话变量
无法访问sExpress.js req.session变量未通过不同的路由存储会话变量,session,node.js,express,Session,Node.js,Express,无法访问sreq.session变量。我将req.session.username设置为someVariable,但我得到了 未定义。以下快速设置是否允许我访问每个路由中的req.session变量 app = express.createServer( express.logger(), express.cookieParser(), express.session({ secret: 'keyboard cat' }) ) 快递网站似乎就是这样使用的 编辑:
req.session变量
。我将req.session.username
设置为someVariable
,但我得到了
未定义。以下快速设置是否允许我访问每个路由中的req.session变量
app = express.createServer(
express.logger(),
express.cookieParser(),
express.session({ secret: 'keyboard cat' })
)
快递网站似乎就是这样使用的
编辑:
以下是我使用的一些其他代码:
if(result[0] != undefined && result[0].Password == req.body.user.pass){
console.log("login successfull");
//Setting in the cookies some variable useful later
req.session.userAuthenticated = true;
req.session.username = result[0].Username;
req.session.projects = result[0].Projects;
这是/login
路径的一部分。在这一部分中,我检查用户是否正确输入密码,以及是否已注册。如果我执行console.log(req.session.username)
操作,我将获得登录用户的正确用户名
在另一个路径中,将其称为/wathever
我在这样的db检索之后进行检查
if(projects[i].name == projectName && projects[i].username == req.session.username){
projectName
是我从用户那里以POST
的形式收到的东西,它工作正常,内容正确,但如果我选中req.session.username
我会收到未定义的。会话变量似乎不包含我在上一个路由中放入的内容
谢谢确保结果[0]。用户名
和&结果[0]。项目
未定义
您的代码中还有另一个问题,您没有检查req.body.user
和req.body.user.pass
是否未定义。例如,我可以使用参数“test=ok”向您的站点发出post请求,因此如果没有这些变量,它将显示一个内部错误页面。确保结果[0]。用户名&&结果[0]。项目没有未定义
您的代码中还有另一个问题,您没有检查req.body.user
和req.body.user.pass
是否未定义。例如,我可以使用参数“test=ok”向您的站点发出post请求,因此如果没有这些变量,它将向我显示一个内部错误页面。您可能在路由中做了一些错误的事情,但不在那里。你能粘贴更多的代码吗?完成了,很抱歉没有从一开始就粘贴。我也有同样的问题,你能告诉我问题出在哪里吗?你可能做了一些错误的事情,但不是在那里,在你的路线上。你能粘贴更多的代码吗?完成了,很抱歉没有从一开始就粘贴。我也有同样的问题,你能告诉我问题出在哪里吗?第一点我肯定他们没有:)。我检查他们。。。关于第二点,你是对的,但这并不能真正解决问题。。。无论如何,谢谢:)我只能猜出问题出在哪里,我需要完整的代码来查看您到底做错了什么(因为我在显示的这些小代码片段中看不到真正的问题)。首先,我确定它们不是:)。我检查他们。。。关于第二点,你是对的,但这并不能真正解决问题。。。无论如何,谢谢:)我只能猜出问题出在哪里,我需要完整的代码来查看您到底做错了什么(因为我在这些显示的小代码片段中看不到真正的问题)。