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