s.alem
s.alem

Reputation: 13079

How to remove all cookies in Angularjs?

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?

Upvotes: 24

Views: 27548

Answers (2)

Segun Kess
Segun Kess

Reputation: 463

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'];

Upvotes: 0

s.alem
s.alem

Reputation: 13079

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);
});

Upvotes: 33

Related Questions