【发布时间】:2020-12-29 17:30:05
【问题描述】:
Node.js - 如何从快速会话中删除项目
我试图从会话中删除我最近添加到会话中的项目。但我收到一个错误:
console.log('req.session:');
console.log(req.session);
req.session.checkout = 'Test';
var getSession = req.session;
console.log('getSession:');
console.log(getSession);
var { checkout, ...ret } = getSession;
console.log('ret:');
console.log(ret);
req.session = ret;
console.log('req.session:');
console.log(req.session);
console.log('req.session.checkout:');
console.log(req.session.checkout);
控制台:
req.session:
Session {
cookie:
{ path: '/',
_expires: 2020-07-16T12:04:03.332Z,
originalMaxAge: 900000,
httpOnly: true } }
getSession:
Session {
cookie:
{ path: '/',
_expires: 2020-07-16T12:04:03.332Z,
originalMaxAge: 900000,
httpOnly: true },
checkout: 'Test' }
ret:
{ cookie:
{ path: '/',
_expires: 2020-07-16T12:04:03.332Z,
originalMaxAge: 900000,
httpOnly: true } }
req.session:
{ cookie:
{ path: '/',
_expires: 2020-07-16T12:04:03.332Z,
originalMaxAge: 900000,
httpOnly: true } }
req.session.checkout:
undefined
TypeError: req.session.touch is not a function
如何正确删除它,这样我才能恢复原始状态而不会出现错误?
req.session:
Session {
cookie:
{ path: '/',
_expires: 2020-07-16T12:04:03.332Z,
originalMaxAge: 900000,
httpOnly: true } }
【问题讨论】:
-
这里可以删除会话变量
delete req.session['<name>']; -
@xMayank 谢谢!就这么简单!
标签: javascript node.js session