jQuery在重置之前不删除cookie

时间:2012-07-30 20:04:45

标签: javascript jquery cookies

我正在尝试使用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

我做错了什么?

1 个答案:

答案 0 :(得分:2)

要删除Cookie,您必须使用与要删除Cookie完全相同的路径和域进行设置。在两个path调用中指定$.cookie(),如果在任何以前的代码中指定了domain,则必须在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 });
  }
 });
相关问题