express-session获取session字段是undefined

发布于 2022-09-12 13:26:58 字数 1189 浏览 21 评论 0

我使用express+node.js搭建了一个项目,但是使用express-session插件设置session字段时却出现了问题,在A文件的一个接口里设置了session字段,在B文件里获取的值却是undefined
app.js

const session = require("express-session");
router.use(
  session({
    secret: "keyboard cat",
    resave: false,
    saveUninitialized: true,
    cookie: { secure: true, cookie: { maxAge: 20 * 60 * 1000 } }
  })
);

/routes/account.js

const session = require("express-session");
router.use(
  session({
    secret: "keyboard cat",
    resave: false,
    saveUninitialized: true,
    cookie: { secure: true, cookie: { maxAge: 20 * 60 * 1000 } }
  })
);


router.post("/api_login",(req,res)=>{
    req.session.user="测试"
})

/routes/index.js

router.get("/api_index",(req,res)=>{
    console.log(req.session.user);//undefined
    res.render("index",{title:"首页"})
})

在上面的代码里我不仅在app.js文件里挂载了express-session插件,在routes目录下的路由文件里又将express-session挂载在了router下,这是因为我发现挂载到app.js文件里,在路由文件里设置的时候会报错,原因是找不到这个session插件,body-parser插件也是一样的情况,令我很疑惑,app.js是全局文件,一年前我用相同的框架和插件搭建了一个管理系统,就是只将插件挂载到了app.js文件里,无论是body-parser还是express-session存储都是正常使用的,但是现在新的项目为什么不行了,为什么设置的session字段获取到的是undefined?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

隔岸观火 2022-09-19 13:26:58

解决了,我换成了cookie-session就可以正常设置以及获取字段了,我想着是不是express-session不兼容最新的express框架

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文