express.session获取不到的问题

发布于 2022-09-11 15:49:03 字数 1520 浏览 7 评论 0

是这样的,我想做一个登陆页面。首先A.html是登陆页面,登录是一个post请求, 登陆成功之后 服务器写入req.session.LoginName=‘用户登录名’ 前端跳转到B页面,B页面首先会发起一个get请求,然后服务器检查req.session.LoginName有没有 有的话返回req.session.LoginName,但是实际输出的是req.session始终是undefined.

核心代码:
【app.js】

var express = require("express");
var app = express();
var router = require("./router/router.js");
var session = require('express-session');

app.use(session({
     secret: 'keyboard cat',
     //name: 'connect.sid',   //这里的name值得是cookie的name,默认cookie的name是:connect.sid
     cookie: {maxAge: 80000 },  //设置maxAge是80000ms,即80s后session和相应的cookie失效过期
     resave: false,
     saveUninitialized: true
  }));

//路由表
app.post("/doLogin",router.doLogin);
app.get("/checkloginBysession",router.checkloginBysession);

【router.js】

exports.doLogin = function (req, res, next){
    //...省略一大堆登录验证代码 以下到登录成功 逻辑
     req.session.LoginName=username.toString();
     console.log("登录成功"+req.session.LoginName);//可以输出
     res.end('{"state":"1","msg":"登录成功"}');
}
exports.checkloginBysession =function(req, res, next) {
    //req.session.LoginName=username.toString();
    res.writeHead(200,{"Content-type":"application/json;charset=UTF8","Access-Control-Allow-Origin":"*"});
    console.log("这个人是"+req.session.LoginName);//undefined
    if (req.session.LoginName) {
        res.end('{"state":"1","msg":"session登录成功"}');
        return;
    }
    else
    {
        res.end('{"state":"0","msg":"未登录"}');
        return;
    }
}

先谢谢各位了~~~~

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

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

发布评论

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

评论(1

那伤。 2022-09-18 15:49:03

我也遇到同样的问题 我用的express5.0.0框架 4的我跟我这样子写没问题

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