【问题标题】:Clearing Cooking in Express在 Express 中清除烹饪
【发布时间】:2016-03-14 04:51:53
【问题描述】:

我在 post 函数中设置如下所示的 cookie。

 res.cookie('sessionID', req.sessionID, { path: '/' });

它设置得很好......但我似乎无法删除它。我在 put 函数中删除它,因为我想更新一些数据然后清除 cookie。

app.put('/data/completed/:info', jsonParser, function(req, res){
    if (!req.body) return res.sendStatus(400)
  res.clearCookie('sessionID', { path: '/' });
  console.log(req.cookies.sessionID);
});

显然我做错了什么,我只是不知道是什么。

【问题讨论】:

    标签: node.js express cookies


    【解决方案1】:

    您正在清除响应的 cookie。但检查请求。尝试检查 console.log(res.cookies.sessionID);

    【讨论】:

    【解决方案2】:

    所以问题不在于清除 cookie,而在于我没有结束响应过程。正如 Express 文档中所阐明的那样。

    res.end([data] [, encoding])

    结束响应过程。这个方法其实来自Node核心, 特别是 http.ServerResponse 的 response.end() 方法。

    用于在没有任何数据的情况下快速结束响应。如果你需要 用数据响应,而不是使用诸如 res.send() 和 res.json().

    因此,当我将 res.end() 函数放入代码中时,一切都按预期工作,并且 cookie 被清除。

    app.put('/reset/:completed',function(req,res){
    
      res.clearCookie('sessionID', { path: '/' });
    
      res.end();
    
    });
    

    【讨论】:

      猜你喜欢
      • 2011-07-03
      • 2010-11-04
      • 2011-09-24
      • 2011-09-03
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      相关资源
      最近更新 更多