Как удалить все куки в Angularjs?

Я могу установить cookie следующим образом:

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

и я могу удалить его с

$cookieStore.remove('myCookie');

но как я могу удалить все куки?

2 ответов


хорошо, очевидно, это может быть не лучшее решение, но я нашел обходной путь:

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

но я все равно буду признателен, если есть лучшее решение. Мне очень интересно, почему нет встроенного $cookieStore.removeAll() метод...

требует ngCookies модуль для установки.

редактировать

С версией 1.4,$cookieStore - Это исключено. Вместо этого вы можете использовать $cookies сервис. Получить все куки с $cookies.getAll() и снять с каждого $cookies.remove('key').

var cookies = $cookies.getAll();
angular.forEach(cookies, function (v, k) {
    $cookies.remove(k);
});

Если вы находитесь на этой странице и работаете над старым проектом, использующим angular 1.3.x или меньше, вы можете просто использовать это

$cookies.cookieKey = undefined;
delete $cookies['cookieKey'];