試圖獲得與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