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': '/'});

你可能感兴趣的:(前端)