试图获得与Redis建立的会话。我有一个dokku容器中的Redis DB,链接到我的应用程序(也位于dokku容器中)。我一直没有定义会话。我已经将事情剥离到了最低限度,也检查了事情的执行顺序。我仍然没有定义。Express.js会话未定义。 Redis
我在这里读过'session' is undefined when using express/redis for session store和Express js session undefined无济于事。
我不应该使用cookie解析器,因为表达式会话中有cookie的东西,文档说cookie解析器会导致表达式会话的问题。
var express = require('express');
var session = require('express-session');
var redisStore = require('connect-redis')(session);
var bodyParser = require('body-parser');
var app = express();
app.set('port', (process.env.PORT || 5000));
var redisURL = 'redis://xxxxx:[email protected]:6379';
var store = new redisStore({ url: redisURL });
app.use(session({
secret: 'ssshhhhh',
store: store,
saveUninitialized: true,
resave: true
}));
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.json()); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
extended: true
}));
app.get('/', function(req, res, next) {
console.log(req.session); // Logs Undefined
res.send('Hello');
});
什么行号是错误和确切的错误信息 –
@JasonLivesay它console.logs未定义。会话未定义。谢谢 – Rob
app.get('/',function(req,res,next){ console.log(req.session); // Logs Undefined res.send('Hello'); }); – Rob