问题详情:
使用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': '/'});
本文探讨了使用jQuery+jquery.cookie.js插件在创建和删除全局Cookie时遇到的问题,详细解释了如何正确地删除全局Cookie,避免创建额外的同名Cookie。通过设置正确的路径参数,可以确保Cookie的正常管理和清理。
466

被折叠的 条评论
为什么被折叠?



