创建一个cookie方法
/*
*终端cookie缓存,键值对key=value;如果key的名称相同则会覆盖上一个值
*新增:cookieHandler.set("key1",value);
*获取:cookieHandler.get("key1",defaultValue);
*删除:cookieHandler.del("key1");
*/
var cookieHandler = {
path: "/",
get: function(cookie_name, default_value) {
var reg = '(/(^|;| )' + cookie_name + '=([^;]*)(;|$)/g)';
var temp = eval(reg).exec(document.cookie);
if (temp != null) {
var value = temp[2];
return escape(value);
}
return default_value;
},
set: function(name, value, day) {
day = day == undefined ? 30 : day;
var str = name + '=' + value + '; ';
if (day) {
var date = new Date();
date.setTime(date.getTime() + day * 24 * 3600 * 1000);
str += 'expires=' + date.toGMTString() + '; ';
}
str += "path=" + this.path;
document.cookie = str;
},
del: function(name) {
this.set(name, null, -1);
}
};
在登录中使用cookie方法保存token
let data = {
loginName: $("#phone").val(),
loginType: $('#checkbox1').is(':checked') ? "1" : "0",
password: $.md5($("#pwd").val()),
}
$.ajax({
type: "post", // 请求方式
contentType: "application/json",
url: login + "v1/userLogin?loginName=" + data.loginName + "&loginType=" + data.loginType + "&password=" + data.password,
dataType: "json", // 数据类型可以为 text xml json script jsonp
success: function(res) { // 返回的参数就是 action里面所有的有get和set方法的参数
if (res.resultCode === "00000000") {
showMessage("登录成功", 1);
// 使用cookie保存token
cookieHandler.set("normal_login_token", res.data.token)
cookieHandler.set("accountId", res.data.user.accountId)
cookieHandler.set("cellPhone", res.data.user.cellPhone)
$(location).prop('href', './Account.html')
} else {
showMessage(res.resultMsg, 0);
}
}
});
获取token和删除token
// 获取token
cookieHandler.get("normal_login_token")
// 删除token
cookieHandler.del("normal_login_token")