【问题标题】:express session not updated unless error thrown除非抛出错误,否则不会更新快速会话
【发布时间】:2014-08-19 21:46:06
【问题描述】:

我正在尝试在 sessionCookie 上存储和更新单个 var。只有当我立即强制出错时,才会更新会话对象。如果我尝试按照记录使用,当我尝试在其他地方访问它时,我设置的值是未定义的

包装:

 "dependencies": {
  "express": "3.2.1"
 },
 "engines": {
  "node": "0.10.5",
  "npm": "1.2.18"
 }

设置:

app.use( express.bodyParser() );
app.use( express.methodOverride() );
app.use( express.cookieParser('secret') );
app.use( express.cookieSession(  ) );

路线:

module.exports.size = function ( req, res ) {
   req.session["size"] = req.body.size;
   req.s["size"] =  req.body.size; // force to error: this updates session props
};

module.exports.pages = function ( wwwPath, imageEndPoint, isDebug ) {
   return  function ( req, res ) {
       var size = req.session["size"] // is undefined unless above forced to error
   }
}

【问题讨论】:

  • 好的,所以我想我可能已经找到了答案......我必须发送一些东西让他们更新,是吗?因此,如果我抛出错误,express 将发送响应,从而写入 cookie stackoverflow.com/questions/12197053/…。我只是看看这是否会解决它

标签: node.js express session-cookies


【解决方案1】:

好的,所以我没有发送响应,所以 cookie 没有被更新。当一个错误被强制express发送一个错误信息,导致cookie被更新。

请看下面的答案:

express cookie return undefined

rubber ducking

【讨论】:

    猜你喜欢
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 2015-11-01
    • 2021-05-14
    • 2020-08-27
    • 1970-01-01
    相关资源
    最近更新 更多