[英]Deal and keep node.js/express sessions
我當前正在使用一個Web應用程序,每次調用fs.mkdir
時fs.mkdir
此Web應用程序,刪除所有當前的Express會話,因此我需要一種保留所有這些會話的方法。 我試圖用connect-mongodb和connect-redis保留所有這些會話,但是都無效,nodemon總是說req.session是未定義的。 我不知道要保留所有會話該做什么。
我需要一種方法來保留所有會話,不要在執行fs.mkdir
時丟失它們,並需要一個教程,因為我還沒有找到任何好的完整教程,任何人都可以工作! 在Stackoverflow中,我正在閱讀所有與此相關的內容,但是任何方法都可以! 請幫忙!
聽起來很fs.mkdir
,在fs.mkdir
之后,您的會話已刪除。 (我發現了您的其他問題)
但是回到問題,這里有一些代碼片段,您可以使用會話(redis)。
var express = require('express')
, fs = require('fs')
, http = require('http')
, RedisStore = require('connect-redis')(express)
, sessionStore = new RedisStore()
, app = express()
;
app.configure(function(){
app.set('port', 3000);
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('secret'));
app.use(express.session({
store: sessionStore
}));
app.use(express.static(__dirname + '/public'));
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.get( '/', function(req, res){
res.setHeader("Content-Type", "text/html");
console.log( req.session );
console.log( '------------------------' );
res.end( 'root' );
});
app.get( '/dir/:id', function(req, res){
console.log( req.session );
console.log( '------------------------' );
fs.mkdir( req.params.id );
if ( req.session.dirs === undefined )
req.session.dirs = [];
req.session.dirs.push( req.params.id );
console.log( req.session );
console.log( '------------------------' );
res.setHeader("Content-Type", "text/html");
res.end( 'dir' );
});
server = http.createServer(app).listen(3000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.