关于前端存储

1.关于cookie(重点)
2.关于sessionStorage、localStorage、gobelStorage(现在已经弃用了)

很多需求对于能够直接在客户端存储数据信息的要求越来越多,那么这个问题的第一个解决方案就是:HTTP cookie(以下简称cookie)。
第一点介绍区别:

第二点介绍用法:
cookie

  1. function newCookieFunc(){  
  1.         $.cookie('cookieId',"20170825",{expires:2,path: '/'});  
  1.         $.cookie('cookieName',"test",{expires:2,path: '/'});  
  1.     };  
  1.     function getCookieFunc(){  
  1.         var cookieId=$.cookie('cookieId');  
  1.         var cookieName=$.cookie('cookieName');  
  1.     };  
  1.     function deleteCookieFunc(){  
  1.         $.cookie('cookieId',null,{expires:-1,path: '/'});  
  1.         $.cookie('cookieName',null,{expires: -1,path: '/'});  
  1.         console.log("删除cookie成功");  
  1.     };  


localStorage同sessionStorage

  1. if(!window.localStorage){
  1.       alert("浏览器不支持localstorage");
  1.       return false;
  1.   }else{
  1.       /*可以简单模拟成前端的数据库,实现增删改查的功能*/
  1.       //增,即给全局变量赋值
  1.       var storage = window.localStorage;
  1.       storage.a = 1;
  1.       storage["b"] = 2;
  1.       storage.setItem("data","i am jsonData"); 
  1.       //查,取得变量的值
  1.       var data = storage.getItem("data");
  1.       console.log(data);
  1.       //删,移除存储里的值
  1.       //storage.clear()清空所有
  1.       storage.removeItem("a");
  1.       //改,即重新给变量赋值
  1.       storage.setItem("b","again data"); 
  1.   }


第二点介绍遇到的问题:
1.cookie无法删除

2.如果前端处理登录成功关闭浏览器扔显示登录状态的话

设置cookie(不能设置时间,因为关闭整个浏览器的时候需要清除cookie)

3.同一项目中不同路径获取cookie


给每个存储cookie的时候都加上path,才能解决。

原文地址:https://www.cnblogs.com/zhouqiaoyun/p/7526915.html