项目中遇到一个问题,之前设置的cookie,删除之后重新创建,再次获取的时候还是为空,问题重现如下:
设置cookie:
var date = new Date();
date.setTime(date.getTime()+60*60*1000);//有效期为1小时
$.cookie('choosetime',choosetime,{expires:date,path:'/',secure:false,raw:false});
在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie
读取cookie:
var choosetime= $.cookie("choosetime");
console.log("选择时间:"+choosetime);
清空/删除cookie:
$.cookie('choosetime',null);
在清空cookie后,重新创建的cookie打印出来结果:
选择时间:null
查阅资料发现,设置Cookie时怎么写的,删除cookie时就怎么写,这样删除的cookie重新创建的时候才能获取到
var date = new Date();
date.setTime(date.getTime()+60*60*1000);//有效期为1小时
$.cookie('choosetime',null,{expires:date,path:'/',secure:false,raw:false});
这样就可以了。重要的是删除的路径和创建的路径要保持一样。