这是我做项目中遇到的cookie的变态问题,找了好久一直有这个问题
原来如此
cookie如果再没有设置期限的条件下如果关闭本浏览器就会自动的清除掉了cookie的值了。
问题重现就是:我们有一个登录界面login.html 登录的过程中我们有数据存放在coookie里边了。但是这个过程中没有设置期限的问题,正好这个地方还有自动登录。正好这个测试收藏的网址是界面登录进去之后的界面:main.html
首先在登录界面登录上了学生信息,并且勾选了自动登录。然后关闭浏览器之后直接又重新打开浏览器,然后点上面保存的连接main.html,界面显示是显示出来了,但是在login.html里边获取的cookie里边没有值。所以导致了这个页面显示有点问题。需要的cookie值获取不到。
解决方案:就是将上面的cookie加上时间的限制;
var expires = (new Date(+new Date() + 15*24*60*60*1000)).toUTCString();
.cookie(“headPic”,data.headPic,expires:expires,path:‘/′);
.cookie(“nameInfo”, data.name, {expires: expires,path: ‘/’});
注意一下这个写法,只有一个中括号放了expires和path的。