23

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

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

我可以删除它

$cookieStore.remove('myCookie');

但是如何删除所有 cookie?

4

2 回答 2

33

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

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

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

需要安装ngCookies模块。

编辑

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

var cookies = $cookies.getAll();
angular.forEach(cookies, function (v, k) {
    $cookies.remove(k);
});
于 2014-10-28T12:17:23.927 回答
0

如果您在此页面上并且正在处理使用 angular 1.3.x 或更低版本的旧项目,您可以简单地使用它

$cookies.cookieKey = undefined;
delete $cookies['cookieKey'];
于 2017-10-16T02:35:54.743 回答