web-dev-qa-db-fra.com

Comment effacer les cookies dans angular.js

J'utilise actuellement l'application angulajs.

Je veux stocker des valeurs dans un cookie. J'ai donc utilisé angular-cookies-min script pour ajouter des valeurs aux cookies

J'ai utilisé ce code ci-dessous pour enregistrer les valeurs dans les cookies.

 $cookieStore.put("userInfo", userInfo);//userInfo is a array with some values. 

Maintenant, je veux effacer le cookie? Comment puis-je le faire?

18
user2998788

Essayez ce code pour supprimer le cookie

$cookieStore.remove("userInfo");

[~ # ~] modifier [~ # ~] : depuis la v1.4 $cookieStore a été déconseillé (voir docs ), donc à partir de cette version, vous devez utiliser:

$cookies.remove("userInfo");
52
michael

J'ai trouvé une réponse

Option 1

delete $cookies["userInfo"]

option 2

 .controller('LogoutCtrl', ['$scope',  '$cookies', function ($scope,$cookies) {

    $cookies.userInfo = undefined;

}]);
6
user2998788
angular.forEach($cookies, function (cookie, key) {
    if (key.indexOf('NAV-') > -1) {
         $window.sessionStorage.setItem(key, cookie);
         delete $cookies[key];
    }
 });

Le code ci-dessus fonctionne pour moi cependant l'onglet "Ressources" de Chrome continue de montrer que les cookies ne sont pas supprimés. J'ai vérifié que les cookies sont effectivement supprimés en les imprimant:

console.log('START printing cookies AFTER deleting them');
 angular.forEach($cookies, function (cookie, key) {
    console.log(key + ': ' + $cookies[key] + '\n');
 });
 console.log('DONE printing cookies AFTER deleting them');

J'espère que cela t'aides

2
user4231636