一尘不染

如何删除Angularjs中的所有cookie?

angularjs

我可以这样设置一个cookie:

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

我可以用删除它

$cookieStore.remove('myCookie');

但是,如何删除所有cookie?


阅读 367

收藏
2020-07-04

共1个答案

一尘不染

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

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

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

需要安装 ngCookies 模块。

编辑

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

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