javascript – jQuery在重置之前不删除cookie

我正在尝试使用
Javascript更新网站的一些cookie.它应该查看现有cookie是否为特定值.如果是,请删除cookie并替换它.

相反,它是在不删除原始cookie的情况下添加新cookie.

这是我的代码

$(document).ready(function(){
if(getCookie('ref') == 'na') {
    $.cookie('ref', null, { path: '/', expires: -5 });
    $.cookie('ref', Base64.encode(document.referrer), { expires: 365 });
}

});

这是我正在使用的cookie库:https://github.com/carhartl/jquery-cookie

我究竟做错了什么?

最佳答案 要删除cookie,您必须使用与要从中删除cookie的完全相同的路径和域进行设置.在$.cookie()调用中指定路径,如果在以前的任何代码中指定了域,则必须在jQuery代码中将域指定为完全匹配.

$(document).ready(function() {
  if(getCookie('ref') == 'na') {
      $.cookie('ref', null, { path: '/', expires: -5 });
      $.cookie('ref', Base64.encode(document.referrer), {path: '/', expires: 365 });
  }
});

但是,如果您只想覆盖它,则无需删除cookie:

$(document).ready(function() {
  if(getCookie('ref') == 'na') {
    // Just write the new cookie over the old one...
    $.cookie('ref', Base64.encode(document.referrer), {path: '/', expires: 365 });
  }
 });
点赞