Node.js 无法从其他路由访问会话
我正在使用,这是我的代码:Node.js 无法从其他路由访问会话,node.js,session,express,Node.js,Session,Express,我正在使用,这是我的代码: app.post("/login", (req, res)=>{ if (!req.session.activeUser){ User.findOne({username:req.body.username}).then(doc=>{ req.session.activeUser = req.body.username res.send(req.session.activeUser
app.post("/login", (req, res)=>{
if (!req.session.activeUser){
User.findOne({username:req.body.username}).then(doc=>{
req.session.activeUser = req.body.username
res.send(req.session.activeUser + " Logged in successfully")
}).catch(e=>{
res.send(e)
})
}else {
res.redirect("/")
}
})
app.get("/logout", (req, res)=>{
req.session.reset()
res.redirect("/")
})
app.get("/online", (req, res)=>{
res.send(JSON.stringify(req.session))
console.log(JSON.stringify(req.session))
})
/login
的响应工作正常,但是控制器/online
返回一个空对象
我试过了,也遇到了同样的问题
以下是我的配置:
app.use(sessions({
cookieName: "session",
secret: "root",
duration: 30 * 60 * 1000,
activeDuration: 1000 * 60 * 5
}))
确保在会话全局中间件中将cookieName属性设置为“session”。我认为您需要检查“require”部分,可能您拼错了会话。我非常确定我已经在文件顶部实现了该包,我可以看到您使用的是“sessions”而不是“session”所以再次检查@bahajrsessions是包的名称,因为session是cookie的名称