项目需要前端获取后台返回的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') } }})单纯贴码,抛砖引玉!