题
我想使用jQuery删除cookie;我尝试了
$.cookie('name', '', { expires: -1 });
然后我刷新页面,cookie仍然在那里:
alert('name:' +$.cookie('name'));
为什么?谢谢
解决方案
要使用jQuery删除cookie,请将值设置为null:
$.cookie("name", null, { path: '/' });
编辑: 最终解决方案是明确指定 path
属性每当访问cookie时,因为OP从不同目录中的多个页面访问cookie,因此默认路径是不同的(原始问题中没有描述)。该解决方案是在下面的讨论中发现的,该解决方案解释了为什么该答案被接受 - 尽管不正确。
对于某些版本JQ cookie,上面的解决方案将将cookie设置为null。因此不删除饼干。使用如下建议的代码。
$.removeCookie('the_cookie', { path: '/' });
其他提示
您可以尝试一下:
$.removeCookie('the_cookie', { path: '/' });
您也可以无需使用jquery.cookie插件即可删除cookie:
document.cookie = 'NAMEOFYOURCOOKIE' + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
这是对饼干误解的问题。浏览器识别键的cookie值不仅是键还比较选项路径和域。因此,浏览器识别使用服务器设置选项“键为'name'的cookie值的不同值(path ='/'; domain ='mydomain.com'),而键是“名称”,没有任何选项。
试试这个
$.cookie('_cookieName', null, { path: '/' });
{路径:'/'}为您完成工作
为我工作 只要 什么时候 path
被设置了,即:
$.cookie('name', null, {path:'/'})
您正在做的是正确的,问题在其他地方,例如,cookie在刷新上再次设置。
不隶属于 StackOverflow