首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodejs快速会话错误

nodejs快速会话错误
EN

Stack Overflow用户
提问于 2013-12-03 16:05:34
回答 1查看 3.6K关注 0票数 1

我用nodejs写了一个演示网站。在文件app.js中,我使用了express.session

案例1:

代码语言:javascript
复制
app.use(express.cookieParser())
app.use(express.session({    secret: "whatever"   }));  
//this code is working 

案例2:

代码语言:javascript
复制
app.use(express.session({    secret: "whatever"   }));   
app.use(express.cookieParser());
//this is not correct

错误日志是:

代码语言:javascript
复制
Express
500 TypeError: Cannot read property 'connect.sid' of undefined
at Object.session [as handle] (D:\web\nodejs\Weibo\node_modules\express\node_modules\connect\lib\middleware\session.js:239:32)
at next (D:\web\nodejs\Weibo\node_modules\express\node_modules\connect\lib\proto.js:193:15)
at Object.favicon [as handle] (D:\web\nodejs\Weibo\node_modules\express\node_modules\connect\lib\middleware\favicon.js:77:7)
at next (D:\web\nodejs\Weibo\node_modules\express\node_modules\connect\lib\proto.js:193:15)
at Object.handle (D:\web\nodejs\Weibo\node_modules\express-partials\index.js:94:5)
at next (D:\web\nodejs\Weibo\node_modules\express\node_modules\connect\lib\proto.js:193:15)
at Object.expressInit [as handle] (D:\web\nodejs\Weibo\node_modules\express\lib\middleware.js:30:5)
at next (D:\web\nodejs\Weibo\node_modules\express\node_modules\connect\lib\proto.js:193:15)
at Object.query [as handle] (D:\web\nodejs\Weibo\node_modules\express\node_modules\connect\lib\middleware\query.js:44:5)
at next (D:\web\nodejs\Weibo\node_modules\express\node_modules\connect\lib\proto.js:193:15)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-03 16:18:29

中间件订单在Express中很重要,因为它们是按照您定义的顺序执行的。在您的示例中,cookieParser中间件添加了session中间件使用的一些信息。

您可以检查连接文件

会话数据没有保存在cookie本身中,但是使用cookie,所以我们必须在session()之前使用cookieParser()中间件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20355965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档