javascript - session 在 Node.js 和 Express.js 中的某些页面上获取 null

标签 javascript node.js session

我在node.js中使用express并尝试设置 session 变量,这是我的代码:-

var express = require('express');
app.use(express.session({ secret: 'mysecret', cookie: { maxAge: 999999999, path: '/' } })); // session secret

这里是设置 session :-

 app.get('/login', function (req, res) {
   req.session.Name="Hello";
 }

这些路线的工作正常和返回值:-

app.get('/users',function (req, res) {
    console.log(req.session.Name);
    res.render('home.ejs');
});
app.get('/userList',function (req, res) {
    console.log(req.session.Name);
    res.render('home.ejs');
});

但在该路由中不起作用,并且始终返回未定义或 null:-

 app.get('/user/:id', function (req, res) {
    console.log(req.session.Name);
    res.render('home.ejs');
});

我做错了什么? 请帮我解决这个问题。 谢谢

最佳答案

可能您使用的是过时版本的软件包。相同的代码适用于 Express-Session 包。 (https://github.com/expressjs/session)。 示例代码如下:

    var express = require('express');
    var session = require('express-session');
    var app = express();
    app.use(session({
        secret: 'mysecret',
        cookie: {
            maxAge: 999999999,
            path: '/'
        }
    })); // session secret
    app.get('/login', function(req, res) {
        req.session.Name = "Hello";
        res.send('Hello World');
    });
    app.get('/users', function(req, res) {
        console.log(req.session.Name);
        res.send('Hello World');
    });
    app.get('/userList', function(req, res) {
        console.log(req.session.Name);
        res.send('Hello World');
    });
    app.get('/user/:id', function(req, res) {
        console.log(req.session.Name);
        res.send('Hello World');
    });
    app.listen(8080);

关于javascript - session 在 Node.js 和 Express.js 中的某些页面上获取 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29742425/

相关文章:

javascript - 谷歌分析 : Ecommerce data not being sent

javascript - 不使用 Flexbox 的响应式 div

javascript - 标题位置固定时 anchor 不起作用

javascript - Node 8 : converting a promise/callback structure to async/await

c# - 从一个 Controller 调用方法到另一个 Controller 时 session 为空...MVC

javascript - Metasearch - 按下复选框时帮助处理 Jquery ajax 请求

javascript - 类型错误 : Cannot read property 'startsWith' of undefined node. js V12.18.2

mysql - 异步foreach无法正常工作nodejs

java - Spring MVC 项目的可选 redis session 存储

javascript - 在 onload() 函数调用中将 session 变量作为参数传递