如何删除Angularjs中的所有cookie?

s.a*_*lem 23 cookies angularjs angular-cookies

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

$cookieStore.put('myCookie','I am a cookie');
Run Code Online (Sandbox Code Playgroud)

我可以删除它

$cookieStore.remove('myCookie');
Run Code Online (Sandbox Code Playgroud)

但是如何删除所有Cookie?

s.a*_*lem 33

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

angular.forEach($cookies, function (v, k) {
    $cookieStore.remove(k);
});
Run Code Online (Sandbox Code Playgroud)

但如果有更好的解决方案,我仍然感激不尽.我真的很好奇为什么没有内置$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);
});
Run Code Online (Sandbox Code Playgroud)

  • 不推荐使用$ cookieStore而是使用$ cookie (3认同)