【问题标题】:Express cookie checking throws TypeErrorExpress cookie 检查抛出 TypeError
【发布时间】:2021-06-25 10:58:15
【问题描述】:

我做了一个函数,例如: const token = req.cookies['SESSION_DATA'] if (token) { ... } catch (err) { ... } 但是,在检查令牌时,我得到一个 TypeError“无法读取未定义的属性”。 完全相同的功能适用于我的另一个项目,当没有 cookie 'SESSION_DATA' 时不会抛出 TypeError。我尝试设置const token = undefined,它永远不会通过if。如果我尝试检查 cookie req.cookies['SESSION_DATA'],我会收到 TypeError,即使它在 if 语句中。

【问题讨论】:

  • 必须表示reqreq.cookies 是未定义的,因为undefined 没有属性,它会抛出该错误 - 检查是否其中任何一个未定义,并在您的代码中修复该问题
  • 当你复制你上一个项目的架构时,你可能会错过关键的东西。但是,我的另一个项目中的 req.cookies 是一个空对象,但完全相同的代码显示 req.cookies 是未定义的。那是唯一读取和使用 cookie 的地方。也许是 cookie-parser 的东西。

标签: javascript express cookies


【解决方案1】:

显然,我使用的 cookie 解析器是在我的中间件之前设置的,所以它是未定义的。移动优先级解决了这个问题。

【讨论】:

    猜你喜欢
    • 2018-08-28
    • 1970-01-01
    • 2021-11-19
    • 2011-10-03
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    相关资源
    最近更新 更多