【发布时间】: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 语句中。
【问题讨论】:
-
必须表示
req或req.cookies是未定义的,因为undefined没有属性,它会抛出该错误 - 检查是否其中任何一个未定义,并在您的代码中修复该问题 -
当你复制你上一个项目的架构时,你可能会错过关键的东西。但是,我的另一个项目中的 req.cookies 是一个空对象,但完全相同的代码显示 req.cookies 是未定义的。那是唯一读取和使用 cookie 的地方。也许是 cookie-parser 的东西。
标签: javascript express cookies