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

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

cookie操作代码示例:

  1. <script>
  2. window.onload = function() {
  3. function setCookie(name, value, time) {
  4. var oDate = new Date();
  5. oDate.setDate(oDate.getDate() + time);
  6. document.cookie = `${name}=${value};path=/;expires=${oDate}`;
  7. }
  8. function getCookie(name) {
  9. var str = document.cookie;
  10. var arr = str.split(';');
  11. for (let i = 0; i < arr.length; i++) {
  12. var arr2 = arr[i].split('=');
  13. if (arr2[0] == name) {
  14. return arr2[1];
  15. }
  16. }
  17. return '';
  18. }
  19. // function removeCookie(name) {
  20. // setCookie(name, '', -1);
  21. // }
  22. setCookie('username', 'zxq', 2);
  23. setCookie('SameSite', 'Lax', 2);
  24. removeCookie('SameSite', '', -1);
  25. console.log(getCookie('username')) //'zxq'
  26. }
  27. </script>

2、localStorage及sessionStorage

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

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

操作示例:
  1. <script>
  2. window.onload = function() {
  3. sessionStorage.setItem('use', 'zxq');
  4. console.log(sessionStorage.getItem('use')); //'zxq'
  5. // sessionStorage.removeItem('use');
  6. // //sessionStorage.clear();//全部清除
  7. localStorage.setItem('username', 'zxq');
  8. console.log(localStorage.getItem('username')); //'zxq'
  9. // localStorage.removeItem('username');
  10. // localStorage.clear();
  11. }
  12. </script>

3、cookie和localStorage及sessionStorage的区别

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

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

部分代码:

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

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. 【Android - 进阶】之Dialog分类及使用

    1.确定取消对话框 代码: // 使用AlertDialog.Builder初始化对话框 AlertDialog.Builder builder0 = new AlertDialog.Builder( ...

  2. 5、Docker 核心原理-资源隔离和限制

    Docker 资源隔离 Docker 是利用linux的LXC技术,内核的Kernel namespace Namespace: PID - 通过PID的namespace隔离,可以嵌套 NET - ...

  3. C语言博客作业08

    C语言I博客作业08](https://www.cnblogs.com/490-85-00-58-/p/11863312.html) 问题 回答 这个作业属于那个课程 C语言程序设计II 这个作业要求 ...

  4. 图的存储结构与操作--C语言实现

    图(graph)是一种比树结构还要复杂的数据结构,它的术语,存储方式,遍历方式,用途都比较广,所以如果想要一次性完成所有的代码,那代码会非常长.所以,我将分两次来完成图的代码.这一次,我会完成图的五种 ...

  5. sar命令,linux中最为全面的性能分析工具之一

    sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工具将对系统当前的状态就行取样,然后通 ...

  6. SpringBoot-了解微服务(二)

    什么是微服务? 微服务是一种架构风格,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合: 可以通过http的方式进行互通. 要说微服务架构,先了解一下以前的单体应用架构 单体应用架 ...

  7. IOS原生方法实现二维码生成与扫描

    转自:http://www.jianshu.com/p/d6663245d3fa 二维码的生成有好多第三方库,如Z-Xing.但是为了控制安装包的大小,或者并不需要其他的一些额外的功能,用系统的方法即 ...

  8. dubbo服务治理框架

    Dubbo的概述 1.1. Dubbo的背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. ...

  9. 2018HDU多校训练-3-Problem F. Grab The Tree

    Little Q and Little T are playing a game on a tree. There are n vertices on the tree, labeled by 1,2 ...

  10. Koa - 使用koa-multer上传文件(上传限制、错误处理)

    前言 上传文件在开发中是很常见的操作,今天我选择使用koa-multer中间件来实现这一功能,除了上传文件外,我还会对文件上传进行限制,以及发生上传错误时的处理. 由于原来的 koa-multer 已 ...