如何删除Angularjs中的所有cookie?

时间:2014-10-28 12:02:13

标签: angularjs cookies angular-cookies

我可以像这样设置一个cookie:

$cookieStore.put('myCookie','I am a cookie');

我可以用

删除它
$cookieStore.remove('myCookie');

但是如何删除所有Cookie?

2 个答案:

答案 0 :(得分:32)

好的,显然这可能不是最佳解决方案,但我找到了解决方法:

angular.forEach($cookies, function (v, k) {
    $cookieStore.remove(k);
});

但是,如果有更好的解决方案,我仍然会感激不尽。我真的很好奇为什么没有内置的$cookieStore.removeAll()方法...

需要安装 ngCookies 模块。

修改

对于1.4版本,不推荐使用$cookieStore。相反,您可以使用$cookies服务。获取$cookies.getAll()的所有Cookie,并使用$cookies.remove('key')删除每个Cookie。

var cookies = $cookies.getAll();
angular.forEach(cookies, function (v, k) {
    $cookies.remove(k);
});

答案 1 :(得分:0)

如果您在此页面上并且正在使用角度为1.3.x或更低版本的旧项目,则可以使用此

$cookies.cookieKey = undefined;
delete $cookies['cookieKey'];