无法使用JavaScript删除Firefox中的会话cookie

对于我们的前端应用程序,我们使用会话cookie进行身份验证 . 当用户需要进行身份验证时,他会被重定向到登录页面,之后他会被重定向到应用程序 . 会话cookie已设置 . 丑陋的部分是我们对身份验证服务器没有任何控制权,从我所看到的,对于来自客户端的每个请求,cookie中的值都会更新 .

问题是,当用户想要注销时,我们只是删除会话cookie . 这种方法在除Firefox之外的所有浏览器中都很有效 .

出于某种原因,Firefox无法删除或更新cookie . 当我们尝试这样做时,Firefox立即创建一个具有有效值的新的 .

现在我们尝试了几件事:

  • 试图删除cookie .

  • 更新cookie(过期,名称等) .

我们尝试了以下代码:

$.removeCookie('cookie_key');

$.cookie('cookie_key', null); 

document.cookie = '';

任何可能出现问题的想法?

回答(1)

2 years ago

你从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;';
}

您还看了一下有关cookie的developer.mozilla.org页面吗?

语法:docCookies.removeItem(name [,path [,domain]])