2016-07-10 2 views
1

다시로드하거나 다른 페이지로 이동하기 전에 console.log(req.session)은 값을 저장 한 내용을 그대로 인쇄하지만 더 이상 없습니다. 나는 req.session.save(), req.session.regenerate ({..})를 시도했거나 .save()와 .reload()를 동시에 사용했다. 나는 그것이 왜 일어나는 지 이해할 수 없다. 나는이 6 시간과 고투하고있다. 내가 가면이express-session은 값을 저장하지 않습니다.

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

같은 콘솔 인쇄를하지만 :

내가 액세스 할 때 '3000 로컬 호스트'

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'); 
} 

을 app.js 'localhost : 3000/reg'로 넘어갔습니다.

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

패키지 버전

답변

2

는 "expires 옵션은 안 대신 maxAge 옵션 ""만 사용하십시오.

expires 속성을 제거하면 제대로 작동합니다.

+0

작동합니다! 고맙습니다. 나는 똑같은 실수를했다. 나는 대략 docs를 대략 읽는다 :( –