详解vue中localStorage的使用方法


Posted in Javascript onNovember 22, 2018

什么是localStorage

对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:localStorage 和 sessionStorage

1.sessionStorage(临时存储) :为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载

2.localStorage(长期存储) :与 sessionStorage 一样,但是浏览器关闭后,数据依然会一直存在

所以上次使用cookie的时候就遇到了一个坑,设置后马上访问session会获取不到,蛋疼,还需要刷新一下,原因是:

当我们首次访问设置Cookie的页面时,服务器会把设置的Cookie值通过响应头发送过来,告诉浏览器将cookie存储的本地相应文件夹中(注意:第一次访问时本地还没有存储Cookie,所以此时获取不到值);

当第二次访问(或在进行cookie设置后,过期前所有的访问)时,请求头信息你中都会把Cookie值携带。(百度到的,暂时还没理解透彻,先搬过来).

vue中实现本地储存的方法:localStorage,在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。

(1).储存数据

localStorage.setItem('accessToken', 'Bearer ' + response.data.result.accessToken)

(2).取出数据

localStorage.getItem('accessToken')

(3).删除储存数据

localStorage.removeItem('accessToken')

(4).更改数据

localStorage.setItem('accessToken', '更改后' + response.data.result.accessToken)

使用时有两点需要注意过的地方:

. localStorage在浏览器的隐私模式下面是不可读取的。
. localStorage本质上是对字符串的读取,有json格式时需要JSON.stringify()转化为字符串。
. localStorage不能被爬虫抓取到

注意点

  • localStorage有效期是永久的。一般的浏览器能存储的是5MB左右。sessionStorage api与localStorage相同。
  • sessionStorage默认的有效期是浏览器的会话时间(也就是说标签页关闭后就消失了)。
  • localStorage作用域是协议、主机名、端口。(理论上,不人为的删除,一直存在设备中)
  • sessionStorage作用域是窗口、协议、主机名、端口。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS中三目运算符和if else的区别分析与示例
Nov 21 Javascript
js实现DOM走马灯特效的方法
Jan 21 Javascript
javascript的函数劫持浅析
Sep 26 Javascript
canvas雪花效果核心代码分享
Feb 19 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
Jul 03 Javascript
jQuery插件artDialog.js使用与关闭方法示例
Oct 09 jQuery
vuejs实现递归树型菜单组件
Jan 13 Javascript
vue-router+nginx 非根路径配置方法
Jun 30 Javascript
vue 解决循环引用组件报错的问题
Sep 06 Javascript
微信小程序页面滚动到指定位置代码实例
Sep 07 Javascript
javascript实现前端分页效果
Jun 24 Javascript
详解JavaScript执行模型
Nov 16 Javascript
微信小程序功能之全屏滚动效果的实现代码
Nov 22 #Javascript
layer弹出子iframe层父子页面传值的实现方法
Nov 22 #Javascript
js操作table中tr的顺序实现上移下移一行的效果
Nov 22 #Javascript
从源码里了解vue中的nextTick的使用
Nov 22 #Javascript
Vue动态加载异步组件的方法
Nov 21 #Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
Nov 21 #Javascript
跨域解决之JSONP和CORS的详细介绍
Nov 21 #Javascript
You might like
PHP操作数组相关函数
2011/02/03 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
JavaScript 字符编码规则
2009/05/04 Javascript
Document 对象的常用方法
2009/07/31 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
JavaScript Ajax实现异步通信
2016/12/14 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
vue使用Element组件时v-for循环里的表单项验证方法
2018/06/28 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
2020/01/07 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
Html5 实现微信分享及自定义内容的流程
2019/08/20 HTML / CSS
深入理解HTML5定时器requestAnimationFrame的使用
2018/12/12 HTML / CSS
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
出纳岗位职责模板
2013/11/27 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
产品设计开发计划书
2014/05/07 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
教你一步步实现一个简易promise
2021/11/02 Javascript