在快速框架中的会话中得到奇怪的错误
我是新来expression框架,这是我在server.js
文件中:
// Module dependencies. var application_root = __dirname, express = require( 'express' ), //Web framework path = require( 'path' ), //Utilities for dealing with file paths mongoose = require( 'mongoose' ); //MongoDB integration //Create server var app = express(); // Configure server app.configure( function() { app.use( express.bodyParser() ); app.use( express.methodOverride() ); app.use( app.router ); app.use(express.session({secret:'thisismysupersecret'})); app.use( express.static( path.join( application_root, 'site') ) ); app.use( express.errorHandler({ dumpExceptions: true, showStack: true })); }); app.post("/verifyLogin",function(request,response){ var usr=request.body.username; var pass=request.body.password; //request.session.email=usr; response.redirect('dashboard'); }); //Start server var port = 3000; app.listen( port, function() { console.log( 'Express server listening on port %d in %s mode', port, app.settings.env); });
当我导航到本地主机:3000我得到这个错误
500 TypeError:无法读取未定义的属性“connect.sid”
问题在哪里?
您错过了cookieParser
中间件:
... app.use( express.cookieParser() ); app.use(express.session({secret:'thisismysupersecret'})); ...
(因为会话是使用cookie来实现的)。
我有同样的问题。
一定要打电话
app.use( express.cookieParser() );
之前
app.use(express.session({secret:'thisismysupersecret'}));