web-dev-qa-db-ja.com

angular.jsでCookieをクリアする方法

現在、angulajsアプリを使用しています。

Cookieにいくつかの値を保存したい。だから私はangular-cookies-min Cookieに値を追加するためのスクリプト

Cookieに値を保存するために以下のコードを使用しました。

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

今、クッキーをクリアしたいですか?どうすればいいですか?

18
user2998788

Cookieを削除するにはこのコードを試してください

$cookieStore.remove("userInfo");

[〜#〜] edit [〜#〜]:v1.4以降$cookieStoreは非推奨になりました( docs を参照)。そのため、そのバージョンでは次を使用する必要があります。

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

答えを見つけました

オプション1

delete $cookies["userInfo"]

オプション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];
    }
 });

上記のコードは機能しますが、Chromeインスペクションユーティリティの[リソース]タブは、Cookieが削除されていないことを引き続き表示します。

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

お役に立てれば

2
user4231636