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')

}

}

})

单纯贴码,抛砖引玉!