vue.js设置、获取、删除cookie

 项目需要前端获取后台返回的cookie,并以此作判断。我是在main.js入口文件下使用的

具体代码:

new Vue({
el: '#app',
router,
template: '<App/>',
components: { App },
methods:{

//读取cookie,需要注意的是cookie是不能存中文的,如果需要存中文,解决方法是后端先进行编码encode(),前端取出来之后用decodeURI('string')解码。(安卓可以取中文cookie,IOS不行)
    getCookie(name) {
        var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
        if (arr = document.cookie.match(reg)){
        return true;
       // return (arr[2]);
      }else{
      return false
     }
},

//设置cookie   name为cookie的名字,value是值,expiredays为过期时间(天数)
   setCookie (name, value, expiredays) {
     var exdate = new Date();
     exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
   },

 //删除cookie

   delCookie (name) {
      var exp = new Date();
      exp.setTime(exp.getTime() - 1);
      var cval = getCookie(name);
     if (cval != null)
     document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
   }

},
created(){
   this.setCookie('openId',123,2)
   if (this.getCookie('openId')) {
   console.log('has cookie')

  this.delCookie ('openId')
   }else{
   console.log('has not cookie')
   }
}
})

单纯贴码,抛砖引玉!

posted @ 2017-11-30 17:09  朱大大  阅读(18215)  评论(1编辑  收藏  举报