对于我们的前端应用程序,我们使用 session cookie 进行身份验证。当用户需要进行身份验证时,他被重定向到登录页面,之后他被重定向到应用程序。 session cookie 已设置。 丑陋的部分是我们无法控制身份验证服务器,据我所知,对于来自客户端的每个请求,cookie 中的值都会更新。
问题是,当用户想要注销时,我们只是删除了 session cookie。这种方法适用于除 Firefox 以外的所有浏览器。
出于某种原因,Firefox 无法删除或更新 cookie。当我们尝试这样做时,Firefox 会立即创建一个具有有效值的新值。
现在我们尝试了几种方法:
- 正在尝试删除 cookie。
- 更新 cookie(过期时间、名称等)。
我们尝试了以下代码:
$.removeCookie('cookie_key');
$.cookie('cookie_key', null);
document.cookie = '';
您知道问题出在哪里吗?
最佳答案
您是否尝试过来自 this answer 的解决方案? ? :
function delete_cookie( name, path, domain ) {
if( get_cookie( name ) ) {
document.cookie = name + "=" +
((path) ? ";path="+path:"")+
((domain)?";domain="+domain:"") +
";expires=Thu, 01 Jan 1970 00:00:01 GMT";
}
}
或者:
function delete_cookie( name ) {
document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
您是否也看过 developer.mozilla.org关于 cookie 的页面?
syntax:
docCookies.removeItem(name[, path[, domain]])
关于javascript - 无法使用 JavaScript 在 Firefox 中删除 session cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29793768/