Подтвердить что ты не робот

Как удалить все файлы cookie в Angularjs?

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

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

И я могу удалить его с помощью

$cookieStore.remove('myCookie');

Но как я могу удалить все файлы cookie?

4b9b3361

Ответ 1

Хорошо, очевидно, это не лучшее решение, но я нашел обходное решение:

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

Но я все еще оцениваю, есть ли лучшее решение. Мне действительно интересно, почему нет встроенного метода $cookieStore.removeAll()...

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

Edit

В версии 1.4 версия $cookieStore устарела. Вместо этого вы можете использовать службу $cookies. Получите все файлы cookie с помощью $cookies.getAll() и удалите их с помощью $cookies.remove('key').

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

Ответ 2

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

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