jQuery中刪除cookie失敗問題解決方案
阿新 • • 發佈:2019-01-23
問題詳情:
使用jquery+外掛jquery.cookie.js
操作cookie,建立時使用$.cookie("account",res.account, {'path': '/'});
建立全域性cookie,在登出時使用$.cookie('account', null);
刪除cookie。但是無法刪除,反而創建出另一個新的cookie
問題原因:
建立時因為使用{'path': '/'}
引數,將建立的cookie作用域變為全域性作用域
但刪除時為設定作用域,則預設為當前網頁路徑,系統因為兩個cookie路徑不同,將其視為兩個完全不相關的cookie,因此再次建立一個名字相同、內容為空、作用域為當前頁面
因此生成兩個cookie
解決方案:
如果建立使用引數{'path': '/'}
,則刪除時同樣需要使用{'path': '/'}
,使系統明白需要刪除(置空)的cookie即為之前的全域性cookie
同樣,如果常規cookie建立時設定路徑,則刪除時也需要設定路徑
# 建立全域性cookie
$.cookie("account",res.account, {'path': '/'});
# 刪除全域性cookie
$.cookie('account', null, {'path': '/'});