2016-07-10 7 views
1

リロードまたは別のページに移動する前に、console.log(req.session)は値を保存したものを正確に印刷しますが、それはもはやありません。私はreq.session.save()、req.session.regenerate({..})、または.save()と.reload()を同時に使用しました。なぜそれが起こるのか理解できません。私はこの6時間で苦労しています。express-sessionは値を保存しません

app.js

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

app.use(session({ 
    cookie: { 
     maxAge:30 * 60 * 1000, 
     expires: 30* 60 * 1000, 
     httpOnly: true 
    }, 
    rolling: true, 
    resave: true, 
    saveUninitialized: true, 
    secret: '~~~~~' 
})); 

ルート/ index.js

router.get('/', function(req, res, next) { 
    req.session.test = true; 
    req.session.save(); 
    console.log(req.session); 
    res.render('index'); 
}); 
router.get('/reg', function(req, res){ 
    console.log(req.session); 
    res.render('another'); 
} 

私はローカルホスト:3000 'にアクセスすると、この

Session { 
    cookie: 
    { path: '/', 
    _expires: 1800000, 
    originalMaxAge: 1800000, 
    httpOnly: true }, 
    test: true } 

のようなコンソール印刷をしかし、私は行く場合'localhost:3000/reg'に、それはなくなっています。

Session { 
    cookie: 
    { path: '/', 
    _expires: 1800000, 
    originalMaxAge: 1800000, 
    httpOnly: true } } 

パッケージver。

  • "表現": "〜4.13.1"、
  • "セッションを表現する": "^ 1.14.0" the documentation 1として

答えて

2

expiresオプションはすべきではありません代わりにmaxAgeオプション「」のみを使用してください。

expiresプロパティを削除すると機能するはずです。

+0

これは機能します。ありがとうございました。私は同じ間違いをした。私はいつもdocsを大雑把に読む:( –

関連する問題