node.js - Session data is not saving to memory while using express-session -
node.js - Session data is not saving to memory while using express-session -
i encountering problem when seek next illustration using different express-session versions.
using express-session 1.0.2:
var connect = require('express'),     cookieparser = require('cookie-parser'),     session = require('express-session');  var app = connect(); app.use(cookieparser()) .use(session({secret:'sessionsecret',cookie:{maxage:60000}})) .use(function(req,res,next){     if(req.session.views){         res.setheader('content-type','text/html');         res.write('<p>views ' + req.session.views + '</p>');         //here         res.end();         req.session.views++;     }     else {         req.session.views = 1;         res.end('welcome demoe.  seek refresh page');     }  }) .listen(3000);    this works; view counter keeps increasing when refresh page. however, when  alter express-session 1.8.2 (the latest), code ceases work , view counter stays @ 1. after modify code following, works again:
var connect = require('express'), cookieparser = require('cookie-parser'), session = require('express-session');  var app = connect(); app.use(cookieparser()) .use(session({secret:'sessionsecret',cookie:{maxage:60000}})) .use(function(req,res,next){     if(req.session.views){         res.setheader('content-type','text/html');         res.write('<p>views ' + req.session.views + '</p>');         //here         req.session.views++;         res.end();     }     else {         req.session.views = 1;         res.end('welcome demoe.  seek refresh page');     }  }) .listen(3000);    it seems session info saving before response sent in new express-session. can explain this?
yes, expressjs sessions cannot save req.session object after res.end() called - or content   info sent.
the reason because cookies can set (therefor session can saved) when headers beingness sent; after headers sent (and content sent), cookie cannot reset , session cannot saved.
you can see code in action here.
 node.js session 
 
  
Comments
Post a Comment