繁体   English   中英

表达js:Express会话未定义错误

[英]express js:Express session undefined error

我已经使用express-generator创建了项目并安装了express-session软件包。

这是快递会议的顺序

app.js

var expressSession = require('express-session');

app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'my-app/dist')));

app.use(expressSession({ resave: true ,secret: '123456' , saveUninitialized: true}));

//routes
var index = require('./routes/index');
var users = require('./routes/users');

app.use('/passport', index);
app.use('/api', users);

在我的routes / index.js中,我正在设置会话值

router.post('/login', function(req, res, next) {

    req.session.test = 'some data';
    console.log("Session value",req.session.test);
   res.send('ok);

});

在另一条路线中,我获得了该会话价值

router.get('/me',function(req,res){
    console.log('session value',req.session.test);
    res.send('hello');
});

但是在这里我得到这个req.session.test不确定值

速成版:〜4.15.5

这是我的app.js完整版https://pastebin.com/2wPm5bTw

我认为会话值测试永远不会发送回客户端,因为您没有将res.send()添加到/login POST处理程序中。

我在该示例中添加了该示例 ,它工作正常(您可以通过按左上方的按钮来查看日志)。

通过res.end()完成Request

router.post('/login', function(req, res, next) {

    req.session.test = 'some data';
    console.log("Session value",req.session.test);
    res.send();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM