在Vue项目开发中,操作cookie经常会应用到,今天我们学下基本操作:设置cookie、删除cookie、获取cookie。
1、设置cookie:
cookie.set (key, value, attributes)
比如cookie.set('userId', 'jack')。
来个例子:
Vue.prototype.Setcookie = function (name,value) {
//设置名称为name,值为value的Cookie
var expdate = new Date(); //初始化时间
expdate.setTime(expdate.getTime() + 30 * 60 * 1000); //时间单位毫秒
document.cookie = name + "=" + escape(value) + ";expires=" + expdate.toGMTString() + ";path=/";
//即document.cookie= name+"="+value+";path=/"; 时间默认为当前会话可以不要,但路径要填写,因为JS的默认路径是当前页,如果不填,此cookie只在当前页面生效!
}
2、获取cookie:
cookie.get (key, json)
比如 cookie.get ('userId')
来个例子:
Vue.prototype.getcookie = function (a){
// console.log(a)
var d;
var b = document.cookie;
// console.log(b)
var c = b.split(";");
for (let e = 0; e < c.length; e++) {
var f = c[e].split("=");
if (a == f[0].toString().trim()) {
d = f[1];
break;
}
} if (void 0 == d || null == d) {
return "";
}
else {
var g = unescape(d.trim());
return g;
}
}
3、删除cookie
cookie.remove(key, attributes)
比如 cookie.remove('userId') 移除userId的cookie。
来给例子:
Vue.prototype.delCookie= function (a){
var b = new Date(0).toGMTString();
document.cookie = a + "=;expires=" + b + ";path=/";
},
4、Vue允许跨域携带cookie {#heading-4}
import axios from 'axios'
axios.defaults.withCredentials = true;// 允许跨域携带cookie
或者在请求拦截器中添加:
config.headers['Access-Control-Allow-Credentials']=true