cookie既可以后端设置也可以在前端设置,例如登陆/注册功能,每次都要向服务器请求用户数据,这种就可以把cookie放到前端储存起来。
当网页要发http
请求时,浏览器会先检查是否有相应的cookie
,有则自动添加在request header
中的cookie
字段中。
查看当前网页的cookie:在控制台输入 document.cookie
前端设置cookie:
/**
* 设置cookie
*/
export function setCookie(name, value, hours = 24){
let str = name + "=" + value;
const time = new Date(new Date().getTime() + hours * 3600 * 1000).toGMTString(); // toGMTstring将时间转换成字符串
str += "; expires=" + time;
// 写入Cookie
document.cookie = str;
}
/**
* 获取cookie
*/
export function getCookie(name){
const reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"),
arr = document.cookie.match(reg);
if (arr !== null) {
return arr[2];
} else {
return null;
}
}
/**
* 清除cookie
*/
export function clearCookie(name){
setCookie(name, '', -1)
}