clearCookie()不工作- node express js

carvr3hs  于 2023-04-20  发布在  Node.js
关注(0)|答案(3)|浏览(108)

每次需要清除浏览器缓存才能运行下面的代码。否则无法清除cookie。

res.clearCookie('node_express', {path:'/'});
tzdcorbm

tzdcorbm1#

您应该使用中间件添加无缓存头和清除cookie,它不需要在每个请求上手动清除缓存以及cookie。

app.use(function (req, res, next) {
  res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate');
  // -1 setting up request as expired and re-requesting before display again. 
  res.header('Expires', '-1');
  res.header('Pragma', 'no-cache');
  res.clearCookie('<cookie name>', {path: '/'}).status(200).send('Ok.')
  // or if above not working then use
  res.cookie('<cookie name>', '', { expires: new Date(1), path: '/' })
  next();
});
xmakbtuz

xmakbtuz2#

对我有用的是:

res.clearCookie('SESSIONID', {path: '/', domain: 'localhost'}).send();

'res'是响应参数。您可以通过检查页面代码找到'cookieName'和路径详细信息,并在Chrome中导航到应用程序,然后单击存储下的Cookie。
域不一定是localhost。这取决于您的特定用例。
注意:在路径之前有域不起作用。

x33g5p2x

x33g5p2x3#

同样的问题,但已解决。在注销功能中,我的cookie没有被发送到服务器,这就是为什么它会发生。使用此:

const res = await axios.post('/logout', {}, {withCredentials:true})

使用

相关问题