51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

聊聊在Vue开发中操作cookie的一些应用

在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

赞(0)
未经允许不得转载:工具盒子 » 聊聊在Vue开发中操作cookie的一些应用