Vue中使用cookies

1、定义js文件util.js

定义三个函数 setCookie, getCookie, delCookie;

//获取cookie、
export function getCookie(name) {
    var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    if (arr = document.cookie.match(reg))
      return (arr[2]);
    else
      return null;
  }
  
  //设置cookie,增加到vue实例方便全局调用
  export function setCookie (c_name, value, expiredays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
  };
  
  //删除cookie
  export function 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();
  };

2、main.js中定义全局

import  CookieSetting from './util/util.js';

Vue.property.$cookieStore = CookieSetting ;

3、页面调用使用:

调用方法:

设置:this.$cookieStore.setCookie('cookieName','cookieValue');

获取:var temp = this.$cookieStore.getCookie('cookieName');

删除:this.$cookieStore.delCookie('cookieName');

参考自:(14条消息) vue中cookie的使用_qq_33645229的博客-优快云博客_vue使用cookieicon-default.png?t=M3K6https://blog.youkuaiyun.com/qq_33645229/article/details/81672167

### 如何在 Vue.js 中操作 CookiesVue.js 项目中,可以通过 `vue-cookies` 插件来实现对 cookies 的便捷操作。以下是具体的操作方法以及注意事项。 #### 安装依赖 首先,在项目中安装 `vue-cookies` 插件: ```bash npm install vue-cookies --save ``` #### 配置插件 在项目的入口文件(通常为 `main.js`)中引入并注册该插件,确保其在创建 Vue 实例之前完成配置[^1]。 ```javascript import Vue from 'vue'; import VueCookies from 'vue-cookies'; Vue.use(VueCookies); ``` #### 设置 Cookie 通过 `$cookies.set()` 方法可以设置一个 cookie。支持指定过期时间以及其他选项。 ```javascript this.$cookies.set('username', 'JohnDoe', '7d'); // 将 username 设置为 JohnDoe 并保存 7 天 ``` #### 获取 Cookie 使用 `$cookies.get()` 方法获取已存储的 cookie 值。 ```javascript const username = this.$cookies.get('username'); console.log(username); // 输出: JohnDoe ``` #### 删除 Cookie 如果不再需要某个特定的 cookie,则可通过 `$cookies.remove()` 方法将其删除。 ```javascript this.$cookies.remove('username'); // 移除名为 username 的 cookie ``` #### 跨域场景下的处理 当涉及到跨域请求时,可能需要额外配置服务器端响应头以允许客户端正确读写 cookies。例如,启用 CORS 支持,并设置 `Access-Control-Allow-Credentials: true` 和合适的域名范围[^3]。 --- ### 示例代码 下面是一个完整的示例展示如何在一个组件内部操作 cookies: ```html <template> <div> <button @click="setCookie">Set Cookie</button> <button @click="getCookie">Get Cookie</button> <button @click="removeCookie">Remove Cookie</button> </div> </template> <script> export default { methods: { setCookie() { this.$cookies.set('testKey', 'testValue', '1h'); // 创建有效期为一小时的 testKey }, getCookie() { const value = this.$cookies.get('testKey'); // 获取 testKey 对应的值 alert(value ? `Cookie Value is ${value}` : 'No such cookie exists.'); }, removeCookie() { this.$cookies.remove('testKey'); // 清理掉 testKey 这个键名对应的 cookie 数据 } } }; </script> ``` --- ### 注意事项 - **安全性**:避免将敏感数据存入浏览器中的 cookies,因为它们容易受到 XSS 或其他攻击的影响[^4]。 - **大小限制**:单条记录不得超过 4KB;整个站点共享同一份空间配额约 5MB 左右。 - **生命周期管理**:合理规划每个 key-value pair 的存活周期以免造成资源浪费或者冲突问题发生。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值