我想用jQuery删除cookie;我试过这个:
$.cookie('name', '', { expires: -1 });
但是当我刷新页面时,cookie仍然存在:
alert('name:' +$.cookie('name'));
为什么?
要使用 JQuery 删除 cookie,请将值设置为 null:
$.cookie("name", null, { path: '/' });
编辑:最终的解决方案是每次访问cookie时都显式指定
path
属性,因为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 值,还比较选项路径和域。 因此,浏览器会识别不同的值,即键为“name”且带有服务器设置选项(path='/';domain='mydomain.com')的 cookie 值,而键为“name”且无选项。
试试这个
$.cookie('_cookieName', null, { path: '/' });
{ path: '/' } 为你完成这项工作
仅当设置path
时才为我工作,即:
$.cookie('name', null, {path:'/'})