2017-04-30 10 views
1

これで、同じエラーが発生しました。ページをリロードするたびに、新しいセッションが作成されます。 Btw:私はNodeJSの初心者です。私の英語はベストではありません。セッションがリセットされるたびに、NodeJS/Aの新しいセッションが作成されます。

var express = require('express'); 
 
var session = require('express-session'); 
 
var fileStore = require('session-file-store')(session); 
 
var cookieParser = require('cookie-parser'); 
 
var app = express(); 
 

 
app.use(cookieParser('testing')); 
 

 
app.use(session({ 
 
    name: 'Session', 
 
    secret: 'testing', 
 
    saveUninitialized: false, 
 
    resave: true, 
 
    cookie: { 
 
    maxAge: 60000, 
 
    httpOnly: true, 
 
    secure: true 
 
    }, 
 
    store: new fileStore({ 
 
    path: './tmp/sessions/', 
 
    useAsync: true, 
 
    reapInterval: 5000, 
 
    maxAge: 10000 
 
    }) 
 
})); 
 

 
app.get('/', function(req, res) { 
 
    if(res.session) { 
 
    req.session.t++; 
 
    console.log(req.session.t); 
 
    } else { 
 
    req.session.t = 1; 
 
    req.session.save(); 
 
    console.log(req.session.t); 
 
    } 
 
    res.sendFile(__dirname + 'index.html'); 
 
});

よろしく、

ハイゼンベルグ

答えて

0

はどのように新しいセッションが作成されることに注意していますか?なぜなら、if(res.session)は決して実行されないからですか? あなたはres.sessionをチェックしていることに注意してください - あなたはreq.sessionを意味すると思います。違いがあります。 res.sessionは常に定義されていません。おそらくセッションが空であると思われます。あなたは未定義のオブジェクトreq.sessionにアクセスしようとするので、あなたが

req.session.t = 1; 
req.session.save(); 

をしようとした場合プラス、あなたの現在のコードでは、エラーがスローされますので注意してください。

関連する問題