Comment supprimer tous les cookies à Angularjs?

je peux définir un cookie comme ceci:

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

Et je peux l'enlever avec

$cookieStore.remove('myCookie');

Mais comment puis-je supprimer tous les cookies?

23
demandé sur s.alem 2014-10-28 15:02:12

2 réponses

Ok, évidemment ce n'est peut-être pas la meilleure solution, mais j'ai trouvé une solution:

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

mais j'apprécierais quand même qu'il y ait une meilleure solution. Je suis vraiment curieux de savoir pourquoi il n'y a pas d'intégration $cookieStore.removeAll() méthode...

nécessite le ngCookies module à installer.

Modifier

Avec la version 1.4, $cookieStore est obsolète. Au lieu de cela, vous pouvez utiliser $cookies service. Obtenez tous les cookies avec $cookies.getAll() et supprimer chacun avec $cookies.remove('key').

var cookies = $cookies.getAll();
angular.forEach(cookies, function (v, k) {
    $cookies.remove(k);
});
31
répondu s.alem 2015-06-20 00:27:26

dans le cas où vous êtes sur cette page et que vous travaillez sur un vieux projet qui utilise l'angle 1.3.x ou moins, vous pouvez simplement utiliser ce

$cookies.cookieKey = undefined;
delete $cookies['cookieKey'];
0
répondu Oluwasegun Kesington 2017-10-16 14:19:20