1. 程式人生 > >jQuery中刪除cookie失敗問題解決方案

jQuery中刪除cookie失敗問題解決方案

問題詳情:
使用jquery+外掛jquery.cookie.js操作cookie,建立時使用$.cookie("account",res.account, {'path': '/'});建立全域性cookie,在登出時使用$.cookie('account', null);刪除cookie。但是無法刪除,反而創建出另一個新的cookie

問題原因:
建立時因為使用{'path': '/'}引數,將建立的cookie作用域變為全域性作用域

但刪除時為設定作用域,則預設為當前網頁路徑,系統因為兩個cookie路徑不同,將其視為兩個完全不相關的cookie,因此再次建立一個名字相同、內容為空、作用域為當前頁面

的cookie,全域性的cookie不做改變

因此生成兩個cookie

解決方案:
如果建立使用引數{'path': '/'},則刪除時同樣需要使用{'path': '/'},使系統明白需要刪除(置空)的cookie即為之前的全域性cookie

同樣,如果常規cookie建立時設定路徑,則刪除時也需要設定路徑

# 建立全域性cookie
$.cookie("account",res.account, {'path': '/'});
# 刪除全域性cookie
$.cookie('account', null, {'path': '/'});