如何清除angular.js中的cookie

时间:2014-01-08 06:40:10

标签: javascript jquery angularjs session-cookies angular-cookies

目前正在使用angulajs app。

我想在cookie中存储一些值。所以我使用angular-cookies-min脚本为cookie添加了一些值

我已使用以下代码将值保存到cookie。

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

现在我要清除cookie吗?我该怎么办?

3 个答案:

答案 0 :(得分:52)

尝试使用此代码删除Cookie

$cookieStore.remove("userInfo");

编辑:由于v1.4 $cookieStore已被弃用(请参阅docs),因此您应该使用该版本:

$cookies.remove("userInfo");

答案 1 :(得分:6)

我找到了一些答案

选项1

delete $cookies["userInfo"]

选项2

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

    $cookies.userInfo = undefined;

}]);

答案 2 :(得分:2)

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

以上代码适用于我,但Chrome检查实用程序的“资源”标签继续显示不会删除Cookie。我确认通过打印出来确实删除了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');

希望这有帮助