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