位置: IT常识 - 正文

js-cookie的使用(js-cookie vue)

编辑:rootadmin
js-cookie的使用 1、下载js-cookienpm install js-cookie2、引入js-cookieimport Cookies from "js-cookie";3、使用// 写入cookieCookies.set('name', 'value')// 读取Cookies.get('name') // => 'value'Cookies.get('nothing') // => undefined// 读取所有可见的cookieCookies.get()// 删除某项cookie值Cookies.remove('name')4、cookie在全局使用(方法二)在main.js中引入import Cookies from 'js-cookie'5、cookie设置过期时间//1、存cookie set方法支持的属性有 : expires->过期时间 path->设置为指定页面创建cookie domain-》设置对指定域名及指定域名的子域名可见 secure->值有false和true ,表示设置是否只支持https,默认是falseCookies.set('key', 'value'); //创建简单的cookieCookies.set('key', 'value', { expires: 27 });//创建有效期为27天的cookieCookies.set('key', 'value', { expires: 17, path: '' }); //可以通过配置path,为当前页创建有效期7天的cookie//2、取cookieCookies.get('key'); // 获取指定key 对应的valueCookies.get(); //获取所有value//3、删除cookieCookies.remove('key');//删除普通的cookieCookies.remove('name', { path: '' }); // 删除存了指定页面path的cookie注意:如果存的是对象,如: userInfo = {age:111,score:90}; Cookie.set('userInfo',userInfo)取出来的userInfo需要进行JSON的解析,解析为对象:let res = JSON.parse( Cookie.get('userInfo') );当然你也可以使用:Cookie.getJSON('userInfo');Cookies.get('name'); // => '{"foo":"bar"}'Cookies.get(); // => { name: '{"foo":"bar"}' }//-------------------------------------------------------//Cookies.getJSON('name'); // => { foo: 'bar' }Cookies.getJSON(); // => { name: { foo: 'bar' } }

推荐整理分享js-cookie的使用(js-cookie vue),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js-cookie vue,js cookie localstorage,js cookie用法,js cookies,js-cookie vue,js-cookie vue,js cookie用法,js cookie用法,内容如对您有帮助,希望把文章链接给更多的朋友!

需求:在开发的业务中,业务需要在前端进行数据的缓存,到期就删除再进行获取新数据。

前端设置数据定时失效的可以有下面2种方法: 1、当数据较大时,可以利用localstorage,存数据时候写入一个时间,获取的时候再与当前时间进行比较 2、如果数据不超过cookie的限制大小,可以利用cookie比较方便,直接设置有效期即可。

利用localstorage实现:步骤

1.存储数据时加上时间戳 在项目开发中,我们可以写一个公用的方法来进行存储的时候加上时间戳

//export抛出export function setLocalStorageAndTime (key, value) { window.localStorage.setItem(key, JSON.stringify({ data: value, time: new Date().getTime() }))}

项目中

存储

// 有数据再进行存储 setLocalStorageAndTime('XXX', {name: 'XXX'})

读取

// 判断是否返回为null或者失效getLocalStorageAndTime('XXX', 86400000)

获取数据时与当前时间进行比较

export function getLocalStorageAndTime (key, exp = 86400000) { // 获取数据 let data = window.localStorage.getItem(key) if (!data) return null let dataObj = JSON.parse(data) // 与过期时间比较 if (new Date().getTime() - dataObj.time > exp) { // 过期删除返回null removeLocalStorage(key) console.log('信息已过期') return null } else { return dataObj.data }}利用cookie实现

js-cookie 的示例中只有以天为单位的有效期:

Cookies.set('name', 'value', { expires: 7 }); // 7 天后失效js-cookie的使用(js-cookie vue)

官方文档只要设置天数,没有时分秒,这样我们想设置更小单位的时候无法下手,其实也可以设置时间戳来处理时间的,下面这种方式可以设置任意单位的有效期:

let seconds = 10;let expires = new Date(new Date() * 1 + seconds * 1000);Cookies.set('username', 'tanggaowei', { expires: expires }); // 10 秒后失效贴上利用js-cookie的二次封装, 记得 npm i js-cookieimport Cookies from 'js-cookie'/** 设置cookies* */export function getCookies (key) { return Cookies.get(key)}/** 设置Cookies* */export function setCookies (key, value, expiresTime) { let seconds = expiresTime let expires = new Date(new Date() * 1 + seconds * 1000) return Cookies.set(key, value, { expires: expires })}/** 移除Cookies* */export function removeCookies (key) { return Cookies.remove(key)}

域domain与路径path 默认值: path: ‘/’

domain表示的是cookie所在的域,默认为请求的地址,如网址为www.jb51.net/test/test.aspx,那么domain默认为www.jb51.net。而跨域访问,如域A为t1.test.com,域B为t2.test.com,那么在域A生产一个令域A和域B都能访问的cookie就要将该cookie的domain设置为.test.com;如果要在域A生产一个令域A不能访问而域B能访问的cookie就要将该cookie的domain设置为t2.test.com。

path表示cookie所在的目录,asp.net默认为/,就是根目录。在同一个服务器上有目录如下:/test/,/test/cd/,/test/dd/,现设一个cookie1的path为/test/,cookie2的path为/test/cd/,那么test下的所有页面都可以访问到cookie1,而/test/和/test/dd/的子页面不能访问cookie2。这是因为cookie能让其path路径下的页面访问。

cookie.set()更多参数 语法: cookies.set(名称,[值],[options]) 更多options的参数配置:

maxAge:一个数字,表示自Date.now()到期起的毫秒数

expires:一个Date对象,指示cookie的过期日期(默认在会话结束时过期)。默认:天

path:一个字符串,指示cookie的路径(/默认情况下)。

domain:一个字符串,指示cookie的域(无默认值)。

secure:一个布尔值,指示cookie是否仅通过HTTPS发送(false默认情况下,对于HTTP,true默认情况下,对于HTTPS)。在下面阅读有关此选项的更多信息。 httpOnly:一个布尔值,指示cookie是否仅通过HTTP(S)发送,并且不提供给客户端JavaScript(true默认情况下)。

sameSite:布尔值或字符串,指示cookie是“相同站点” cookie(false默认情况下)。可以将其设置为’strict’,‘lax’或true(映射到’strict’)。

signed:一个布尔值,指示是否要对cookie进行签名(false默认情况下)。如果为真,.sig则还将发送另一个具有后缀的同名Cookie,其27字节的url安全base64 SHA1值表示针对第一个Keygrip密钥的cookie-name = cookie-value的哈希值。此签名密钥用于检测下次接收cookie时的篡改。

overwrite:一个布尔值,指示是否覆盖以前设置的同名Cookie(false默认情况下)。如果是这样,则在设置此Cookie时,将从相同名称的同一个请求中设置的所有Cookie(无论路径或域如何)都从Set-Cookie标头中过滤掉。

本文链接地址:https://www.jiuchutong.com/zhishi/300620.html 转载请保留说明!

上一篇:一文看懂Transformer(详解)(一文看懂华为新品发布会)

下一篇:【一起学Rust | 框架篇 | Viz框架】轻量级 Web 框架——Viz(rust 入门教程)

  • 浅析如何展开企业网站的推广(如何有效开展)

    浅析如何展开企业网站的推广(如何有效开展)

  • vivox70pro+怎么设置锁屏图案(vivox70pro怎么设置锁屏)

    vivox70pro+怎么设置锁屏图案(vivox70pro怎么设置锁屏)

  • 页边距内侧和外侧是指的啥(页边距内侧和外侧是什么意思)

    页边距内侧和外侧是指的啥(页边距内侧和外侧是什么意思)

  • 手机后壳开胶怎么办(手机壳开胶怎么办)

    手机后壳开胶怎么办(手机壳开胶怎么办)

  • wifi突然断网怎么回事(wifi突然断网怎么找到断网时间)

    wifi突然断网怎么回事(wifi突然断网怎么找到断网时间)

  • 怎么把微信链接发到钉钉(怎么把微信链接发到企业微信)

    怎么把微信链接发到钉钉(怎么把微信链接发到企业微信)

  • 为什么手机蓝牙可以连接但是播不了(为什么手机蓝牙搜索不到车载蓝牙)

    为什么手机蓝牙可以连接但是播不了(为什么手机蓝牙搜索不到车载蓝牙)

  • ipad2最高能升级到什么版本(ipad2最高能升级到10)

    ipad2最高能升级到什么版本(ipad2最高能升级到10)

  • 装完系统后重启还是找不到系统(装完系统后重启进不了系统)

    装完系统后重启还是找不到系统(装完系统后重启进不了系统)

  • 腾讯会议锁屏会退出吗(腾讯会议锁屏会记录时长吗)

    腾讯会议锁屏会退出吗(腾讯会议锁屏会记录时长吗)

  • iphonexsmax死机了怎么重启(iphonexsmax 死机)

    iphonexsmax死机了怎么重启(iphonexsmax 死机)

  • 华为p40如何关闭打开的程序(华为p40如何关闭nfc)

    华为p40如何关闭打开的程序(华为p40如何关闭nfc)

  • 怎么找回抖音以前的号(怎么找回抖音以前关注的人)

    怎么找回抖音以前的号(怎么找回抖音以前关注的人)

  • 手机直播为何有电流声(手机直播为何有沙沙声)

    手机直播为何有电流声(手机直播为何有沙沙声)

  • 京东erp账号是什么意思啊(京东erp门户网页地址)

    京东erp账号是什么意思啊(京东erp门户网页地址)

  • 苹果手机序列号n开头什么意思(苹果手机序列号查询真伪)

    苹果手机序列号n开头什么意思(苹果手机序列号查询真伪)

  • windowsxp是系统软件吗

    windowsxp是系统软件吗

  • 手机屏幕翘起来了怎么处理(手机屏幕翘起来了修一下多少钱)

    手机屏幕翘起来了怎么处理(手机屏幕翘起来了修一下多少钱)

  • 手机卡显示hd怎么弄的(手机卡显示HD怎么回事)

    手机卡显示hd怎么弄的(手机卡显示HD怎么回事)

  • 网易云音乐可以看到访客吗(网易云音乐可以登录两个手机吗)

    网易云音乐可以看到访客吗(网易云音乐可以登录两个手机吗)

  • 嘀嗒拼车怎么评价(嘀嗒拼车怎么拼单)

    嘀嗒拼车怎么评价(嘀嗒拼车怎么拼单)

  • 拼多多怎样删除偷红包好友(拼多多怎样删除已买过的商品)

    拼多多怎样删除偷红包好友(拼多多怎样删除已买过的商品)

  • Hive ddl语法使用详解(hive dt)

    Hive ddl语法使用详解(hive dt)

  • 所得税费用的计提
  • 计提个税会计分录怎么做小规模
  • 审计助理是做什么工作的
  • 劳务公司在异地做项目需要提供当地完税证明
  • 一般纳税人报税流程详细操作
  • 报税成本费用怎么填
  • 当前企业不存在是怎么回事
  • 结转库存商品会计分录
  • 生产质量问题报告怎么写
  • 企业录用失业人员有税收优惠吗
  • 投资公司的利息支出可抵扣吗
  • 筹备费用怎么扣税的
  • 扣个税必须要交社保吗
  • 企业所得税发票在哪里打印
  • 关于个人所得税下列说法正确的是
  • 电子公章盖上去怎么文字看不到了
  • 国税申报纳税调整项目怎么填的?
  • 办理房产证时契税完税证明图片怎么弄
  • 发票跨期审计调查报告
  • 进项税额暂不转出情况说明怎么写
  • 收到押金和支付押金的账务处理
  • 个人所得税哪些可以专项扣除
  • 员工宿舍水电费计入什么会计科目
  • wind10记事本在哪
  • PHP:pg_query()的用法_PostgreSQL函数
  • 代扣代缴个税手续费返还会计分录
  • 残疾人在公司上班公司有什么好处
  • 如何用php制作表格
  • 长期借款的会计处理例题
  • auto learn
  • php模板引擎类
  • 市职工报销比例多少
  • thinkphp模板引擎原理
  • 评价类模型topsis
  • thinkphp6多语言
  • 应收账款科目有哪些类别
  • 个人转让上市公司原始股
  • 增值税申报表销项税额怎么算?
  • 结转费用类会计分录怎么写
  • python 协程 yield
  • 登记会计账簿的实训总结
  • 小规模纳税人利润表季报
  • 如何让主营业务成本增加
  • 小规模纳税人指的是谁
  • 专用发票丢失怎么入账
  • 摊销无形资产10000元
  • 企业注销后账务保留多久
  • 员工社保报销流程
  • 公司账户转个人往来款
  • 会议费是指参加会议还是举办会议
  • sql server数据库跟踪
  • php 访问数据库
  • mysql嵌套查询联表查询
  • xp系统每次开机都重启
  • win10安全系统
  • win10 10月更新
  • ubuntu 20.04拨号上网
  • window8更新10
  • Linux系统调用函数
  • mac系统快速入门
  • xp系统怎么设置网络传输文件
  • centos7.0安装教程
  • win10一年更新一次
  • linux常用命令useradd
  • win7系统电脑打开的软件闪退怎么办
  • linuxzen
  • win10系统如何打开
  • data.table
  • android 像素
  • Android: netd中DnsProxyListener的简单介绍
  • unity与android交互详细
  • python,字符串
  • 从零开始学公文写作
  • unity ulua
  • javascript的主要内容
  • 广州地税电子税票查询
  • 车船税每年多少钱
  • 增值税已申报但是忘清卡
  • 湖北税务发票查询系统网
  • 中国地税国税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设