{ console.log(req.session) console.log(req.session.id) }-6ren">
gpt4 book ai didi

javascript - console.log 不会打印 Node js 中的所有快速 session 属性

转载 作者:行者123 更新时间:2023-12-03 04:34:38 25 4
gpt4 key购买 nike

这段代码

router.post("/", (req, res) =>
{
console.log(req.session)
console.log(req.session.id)
})

打印

Session { cookie: { path: '/', _expires: null, originalMaxAge: null, httpOnly: true }, passport: { user: 'red' } }

然后

2sJgQxjBCbKgPiUN3pUdcDty_35GELeE

session.id 是否存储在 session 中?为什么第一次调用console.log后不显示?

这是设置:

app.use(bodyParser.urlencoded({ extended:true }))
var RedisStore = connectRedis(session)
app.use(session(
{
store: new RedisStore({ url: config.redisStore.url }),
secret: config.redisStore.url,
resave: false,
saveUninitialized: false
}))

最佳答案

在 Node.js 中,console.log 仅使用 Object.keys() 显示对象的自己的可枚举属性 .

Session 实例的 id 属性不可枚举,因为它定义为 ( enumerable: false by default ):

Object.defineProperty(this, 'id', { value: req.sessionID });

Source

关于javascript - console.log 不会打印 Node js 中的所有快速 session 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43348794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com