我想使用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: '/' });

来源: https://github.com/carhartl/jquery-cookie#readme

您也可以无需使用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在刷新上再次设置。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top