gwt - 删除 Cookie 问题

标签 gwt cookies token

当用户登录 www.example.com 时,我有一个 cookie 保存 token ,然后根据他们使用的设备将他们重定向到 example.com/desktop 或 example.com/mobile。当他们注销桌面应用程序时,我将 cookie 替换为 null,然后在 GWT 中调用 remove cookie 并将它们重定向到 www.example.com,但 cookie 仍然存在。我在这里做错了吗?我以前很少使用 cookie,所以我对此有点陌生。

最佳答案

因为 cookie 被设置在另一个路径,你必须使用 Cookies.removeCookie("cookieName", "/") ( / 是您的示例中使用的路径)而不是 Cookies.removeCookie("cookieName") .

这是因为没有指定路径,路径默认为当前页面之一(见 document.cookie )。

因此,您尝试删除 path=/desktop 中的 cookie,而它实际上位于 path=/,因此删除失败。
请记住,您可以拥有两个名称相同但路径不同的 cookie;所以你可以在 path=/ 有一个 cookieName和 path=/desktop 处的 _cookieName .删除 path=/ 处的 cookie不会删除 path=/desktop 处的那个,反之,删除 path=/desktop 处的那个不会删除 path=/ 处的那个.
附带说明:访问 /desktop 时,浏览器将发送两个 cookie,它们可能具有不同的值。

简而言之,因为您将 cookie 设置为 / ,记得一定要通过/作为路径,无处不在,或者您可以创建一个新的cookie而不是修改现有的cookie,或者无法删除它(您现在正在经历)。

另见 Cookies.removeCookie(String,String)

关于gwt - 删除 Cookie 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049467/

相关文章:

gwt - 解码根据 GWT 的序列化策略生成的 *.gwt.rpc 文件

java - GWT编译器错误: Element 'extend-property' contains unexpected attribute 'fallback-value'

javascript/jQuery 在 cookie 中存储对象并检索

token - JWT 和服务器端 token 存储

java - Selenide ElementsCollection 抛出 StaleElementException

java - net.ltgt.gwt.maven 和 org.codehaus.mojo GWT Maven 插件有什么区别?

javascript - 在 Cookies/localStorage 中保存多个 div 位置

java - 为什么我的 JSP 不删除 cookie

ajax - 如何在所有ajax请求中发送 token

ios - 检索 token Swift 4 中的单值键