1、首先,理解什么是cookies?

cookies:存储在客户端,数据量小的,会过期的数据,以字符串形式存储

cookie操作代码示例:

    <script>
window.onload = function() {
function setCookie(name, value, time) {
var oDate = new Date();
oDate.setDate(oDate.getDate() + time);
document.cookie = `${name}=${value};path=/;expires=${oDate}`;
} function getCookie(name) {
var str = document.cookie;
var arr = str.split(';');
for (let i = 0; i < arr.length; i++) {
var arr2 = arr[i].split('=');
if (arr2[0] == name) {
return arr2[1];
}
}
return '';
} // function removeCookie(name) {
// setCookie(name, '', -1);
// }
setCookie('username', 'zxq', 2);
setCookie('SameSite', 'Lax', 2);
removeCookie('SameSite', '', -1);
console.log(getCookie('username')) //'zxq'
}
</script>

2、localStorage及sessionStorage

session:以键值对形式存储在服务端的数据

localStorage及sessionStorage:以键值对形式存储在客户端的数据

操作示例:
    <script>
window.onload = function() {
sessionStorage.setItem('use', 'zxq');
console.log(sessionStorage.getItem('use')); //'zxq'
// sessionStorage.removeItem('use');
// //sessionStorage.clear();//全部清除
localStorage.setItem('username', 'zxq');
console.log(localStorage.getItem('username')); //'zxq'
// localStorage.removeItem('username');
// localStorage.clear();
}
</script>

3、cookie和localStorage及sessionStorage的区别

  • cookie会过期,数据小,每次url请求会携带cookies信息,同源窗口访问
  • localStorage数据比cookies大,客户端持久化存储,url请求不携带,同源窗口访问
  • sessionStorage与localStorage相似,但是有效时间为一个会话期间,只能由当前浏览器的窗口共享数据

4、实战,用sessionStorage模拟一个首页验证登陆的功能

部分代码:

            if(this.loginForm.username != sessionStorage.getItem('username')){
alert('用户名填写错误!')
}else if(this.loginForm.password != sessionStorage.getItem('password')){
alert('用户密码填写错误!')
}else{
this.$router.push({path:'/',query:{username:this.loginForm.username}})
}

github地址:[https://github.com/Zxq-zn/vuemanager/tree/master/src/components/login]

js的cookies及html5的localStorage、sessionStorage的更多相关文章

  1. web 存储方式汇总:Cookies,Session, Web SQL; Web Storage(LocalStorage ,SessionStorage),IndexedDB,Application Cache,Cache Storage

    1 1 1 web 存储方式汇总: 旧的方式: Cookies; Session; Web SQL; 新的方式 HTML5 : Web Storage(LocalStorage ,SessionSto ...

  2. HTML5 的web储存: localStorage & sessionStorage

    早期的浏览器使用cookie储存,HTML5新增web储存,包括:localStorage 和 sessiongStorage; localStorage:可以永久储存: sessionStorage ...

  3. HTML5的localStorage和sessionStorage

    HTMl5提供了sessionStorage和localStorage数据存储方法,用于临时或者永久的存储客户端的数据: sessionStorage:用于保存回话数据 localStorage:用于 ...

  4. js中cookie,localStorage(sessionStorage)的存取

    一.cookie (原生的不好用,自己简单封装) 1. 存cookie的方法: function setCookie(c_name,value,expiredays) { var exdate=new ...

  5. 前端 JS,localStorage/sessionStorage、cookie 及 url 等实现前台数据共享、传输

    需求是这样的:需要统计用户公司某款产品用户的回馈情况,美工给的设计多个psd,每个页面里面都有一个选择题,让用户选择自己的答案,最后经过几次选择之后在最后一个页面统一提交到后台!所以这里引出的技术需求 ...

  6. localStorage sessionStorage cookie indexedDB

    目录: localStorage sessionStorage cookie indexedDB localStorage localStorage存储的数据能在跨浏览器会话保留 数据可以长期保留,关 ...

  7. Cookie localStorage sessionStorage

    三者的异同 特性 Cookie localStorage sessionStorage 数据的生命期 可设置失效时间,默认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下(tab标签页)有 ...

  8. Where to Store your JWTs – Cookies vs HTML5 Web Storage--转

    原文地址:https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage Update 5/12/20 ...

  9. iOS开发和localStorage/sessionStorage

    一.前言 在近期的工作中,有前端同学告诉我要清除localStorage,我当时对localStorage完全没有概念,所以就在w3c看了一下相关的内容,下面简单的介绍一下.算是对iOS开发者普及H5 ...

随机推荐

  1. 以Python为例的Async / Await的编程基础

    来源:Redislabs 作者:Loris Cro 翻译:Kevin (公众号:中间件小哥) 近年来,许多编程语言都在努力改进它们的并发原语.Go 语言有 goroutines,Ruby 有 fibe ...

  2. node.js多进程架构

    node.js是单进程应用,要充分利用多核cpu的性能,就需要用到多进程架构. 作为web服务器,不能多个进程创建不同的socket文件描述符去accept网络请求, 有经验的同学知道,如果端口被占用 ...

  3. 如何将本地项目推送到码云仓库或者GitHub仓库

    将本地项目推送到码云仓库. 前提: git 和码云   1.在码云上先创建一个仓库. 2.在要被上传的项目的目录右键, 选择 Git Bash Here. 3.在窗口输入命令: git init 这时 ...

  4. 即将到来的“分布式云”(DPaaS):分布式计算+ DB +存储即服务

    我在区块链会议上就即将到来的公共"分布式云"系统进行了讨论,该系统将主流的公共云平台(如AWS,Azure,Google Cloud,Heroku等)与区块链和P2P网络相结合,比 ...

  5. 时至今日,我们应该承认.Net目前的状况实在堪忧

    一:  .Net之前 .Net 经历了多年的锤炼,语言特性本身非常优雅和完善,也是非常甜品的一种语言 二:  .Net现状 但是与此同时,.Net的生态日益糟糕,困扰着广大.Neter 三:   .N ...

  6. MyBatis框架的基本配置

    MyBatis的基本配置文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE config ...

  7. openlayers6结合geoserver实现地图空间查询(附源码下载)

    前言 之前写过一篇 openlayers4 版本的地图空间查询文章,但是由于是封装一层 js 代码写的,很多初学者看起来比较有点吃力,所以本篇文章重新写一篇地图空间查询文章,直接基于最新版本 open ...

  8. 2018 牛客国庆集训派对Day4 - H 树链博弈

    链接:https://ac.nowcoder.com/acm/contest/204/H来源:牛客网 题目描述 给定一棵 n 个点的树,其中 1 号结点是根,每个结点要么是黑色要么是白色 现在小 Bo ...

  9. linux 安装jmeter

    一 下载jdk sudo apt install oracle-java8-installer 二 网站下载 jmeter 三 对jmeter文件夹 赋权 我都是777 chmod -R 777 ap ...

  10. iOS开发 为何 大不如前?原因竟然是这个?

    前言: 近期,社会上对iOS开发行业的负面信息越来越多,并且还被一些黑骗机构的胡诌八扯越描越黑,现在iOS开发按照开发者与公司招聘的数量上来看,是显示的供大于求,但是从各公司的招人计划上来看,明显是供 ...