Home » Angularjs » How to remove all cookies in Angularjs?

How to remove all cookies in Angularjs?

Posted by: admin November 29, 2017 Leave a comment

Questions:

I can set a cookie like this:

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

And I can remove it with

$cookieStore.remove('myCookie');

But how can I remove all cookies?

Answers:

Ok, obviously this may not be the best solution, but I’ve find a workaround:

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

But I’ld still appreciate if there’s a better solution. I’m really curious about why there isn’t a built-in $cookieStore.removeAll() method…

Requires the ngCookies module to be installed.

Edit

With the 1.4 version, $cookieStore is deprecated. Instead you can use $cookies service. Get all cookies with $cookies.getAll() and remove each with $cookies.remove('key').

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

Questions:
Answers:

In case you are on this page and you working on an old project that uses angular 1.3.x or less, you can simply use this

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