2014-10-28 63 views
20

我可以設置這樣一個cookie:如何刪除Angularjs中的所有Cookie?

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

而且我可以

$cookieStore.remove('myCookie'); 

刪除,但我怎麼能刪除所有cookie?

+0

你有餅乾的所有鍵? – 2014-10-28 12:11:32

+0

我正在尋找一個通用的解決方案... – 2014-10-28 12:12:05

回答

28

好了,顯然,這可能不是最好的解決辦法,但我已經找到了解決辦法:

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

但I'ld還是感激,如果有一個更好的解決方案。我很好奇爲什麼沒有內置的$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); 
}); 
+0

@EpokK $ cookieStore不是一個數組,您可以迭代... – 2014-10-28 12:59:42

+3

$ cookieStore已棄用使用$ cookie而不是 – 2015-03-25 06:51:07

+0

感謝提醒。我相應地更新了答案...... – 2015-03-25 12:03:39

0

如果你是這個頁面上,你在使用的角度的1.3.x或更小的舊的項目工作,你可以簡單地使用這個

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