一、前言
cookie主要用于存储用户的身份信息等,但是在vue路由中使用history模式,如果不指定path,那么在不同path下是无法共享cookie的。较为实用的办法是在设置cookie时,指定path为根目录,即path=/;
本文主要提供一些cookie的常用方法。
二、正文
1、设置cookie
function setCookie(key,value,expires){
expires = +new Date + expires;
expires = new Date(expires);
//指定path为项目根路径,这点至关重要!
document.cookie = `${key}=${value};path=/;expires=${expires}`;
}
2、获取指定的cookie信息
function getCookie(key){
let arr,reg = new RegExp("(^|)"+key+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg)){
return unescape(arr[2]);
}else{
return "";
}
}
3、清除所有cookie
clearAllCookies(){
let cookies = document.cookie.match(/[^=;]+(?=\=)/g);
if(cookies){
for(let i=0;i<cookies.length;i++){
document.cookie = cookies[i] + '=0;path=/;expires=' +new Date(0).toUTCString();
}
}
}