功能:设置cookie保存时间为7天,关闭浏览器cookie不会消失,否则不设置过期时间cookie会默认关闭浏览器自动清除的,如果设置了cookie过期时间,关闭浏览器,cookie仍被清空了,那可能是浏览器设置的原因,记得把下面按钮关闭
效果:
将用户名,密码,以及保存的天数,以及记住密码的check按钮的布尔值存入cookie
//设置cookie
setCookie(c_name, c_pwd, exdays, flg) {
var exdate = new Date(); //获取当前时间
exdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * exdays); //保存的天数
//字符串拼接cookie
console.log(window.document.cookie,c_name,c_pwd)
window.document.cookie =
"userName" + "=" + c_name + ";path=/;expires=" + exdate.toGMTString();
window.document.cookie =
"userPwd" + "=" + c_pwd + ";path=/;expires=" + exdate.toGMTString();
window.document.cookie = "checked" + "=" + flg + ";path=/;expires=" +
exdate.toGMTString();
//注意:";path=/;expires=" + exdate.toGMTString()"这个是给你设置的变量增加保存时间的,别忘了加
},
通过document.cookie获取你保存的cookie,我保存的打印如下
因此需要对获取的所有cookie值进行两次切割
//读取cookie
getCookie(){
if (document.cookie.length > 0) {
var arr = document.cookie.split(";"); //这里显示的格式需要切割一下下
for (var i = 0; i < arr.length; i++) {
var arr2 = arr[i].split("="); //再次切割
console.log(arr2[0]);
//判断查找相对应的值
if (arr2[0] == " userName") {
this.loginObj.username = arr2[1]; //获取用户名到登录页面
} else if (arr2[0] == " userPwd") {
this.loginObj.password = arr2[1]; //获取密码到登录页面
} else if (arr2[0] == " checked") {
if (arr2[1] == "true") {
this.checked = true; //获取记住密码check值到登录页面
} else {
this.checked = false;
}
console.log(this.checked);
}
}
}
},
//清除cookie
clearCookie: function () {
this.setCookie("", "", -1, false); //修改其他值都为空,天数为负1天
},
函数都封装完成之后就是调用:
在登录成功之后判断他是否勾选记住密码的按钮,如果勾选则调用设置cookie进行保存,若没勾选则调用清空cookie。
//判断复选框是否被勾选 勾选则调用配置cookie方法
if (self.checked == true) {
//传入账号名,密码,和保存天数,check值
self.setCookie(self.loginObj.username,self.loginObj.password,7,"true");
} else {
//清空Cookie
self.clearCookie();
}
然后就是在登录页刚进来的时候就应该获取一下cookie,判断是否之前登录过保存有cookie,有的话直接获取cookie里面的用户名密码即可。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/149745.html