我正在尝试使用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
我做错了什么?
答案 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 });
}
});