console.log 不打印节点 js 中的所有快速会话属性
console.log doesn't print all express session properties in node js
这个代码
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 });
这个代码
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 });