2015-10-05 69 views
0

我想通过设置到期日期时间来删除一个cookie,如下所示。然而,cookie的关键仍然存在。这只会将cookie设置为空字符串。如何完全删除cookie的键值对?删除Cookie键值对

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC"; 

回答

2

AFAIK删除由服务器设置的Cookie可能会非常棘手。为了删除使用JavaScript设置cookie,请使用以下方法:

function deleteCookie(c_name) { 
    document.cookie = c_name+'=' + ";expires=Thu, 01 Jan 1970 00:00:01 GMT ;domain=.yourdomain.com;path=/"; 
    document.cookie = c_name+'=' + ";expires=Thu, 01 Jan 1970 00:00:01 GMT ;"; 
} 

只需调用此方法为:deleteCookie("username");

+0

饼干是由JavaScript设置。因此,不可能删除整个cookie(键和值),而不是将该值设置为空字符串?顺便说一句,为什么在你的删除cookie方法之一是包括域和路径为什么其他不?它不会减少? – stacknist

+0

通常,第二个电话就足够了。但是,如果您希望删除Cookie,并且它也不可用于子域,那么也需要'domain'和'path'参数。如果第二个人为你完成这项工作,可以随意忽略第一行。 –

+0

但它仍然不删除cookie的键值对...它只是将值设置为空字符串,并且键仍然存在 – stacknist