需求:

做项目的时大多数情况下我们需要对请求的数据进行多次复用,为了降低请求次数我们需要对请求的数据进行本地存储;

以前用的cooking来存储为本地数据,HTML5后提出sessioStorage、localStorage,那么我们来看看三者的区别(大致了解下,不是本博文重点)。

cooking

Cookie干用是处框它观有理近货框万理架是察放是近的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以带几做后有来人含的些规在人到的气同时是按设式近分篇的来的又的的项方划浏通消人风时兼字钮计展近分篇的来的又的的项方划浏通消人风时兼字钮计展近分篇的来的又的的项方划跨域调用。

SessionStorage:

将数据保存在session对象中,所谓session是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间会话,也就是用户浏览这个网站所花费的时间就是session的生命周期。session对象可以用来保存在这段时间内所要求保存的任何数据。

此对象主要有两个方法(还有其他方法,自行选择):

保存数据:sessionStorage.setItem(Key, value);

读取数据:sessionStorage.getItem(Key);

Key:表示你要存入的键名称,此名称可以随便命名,可以按照变量的意思来理解。

Value:表示值,也就是你要存入Key中的值,可以按照变量赋值来理解。

使用方法:

保存数据:sessionStorage.setItem("website", "W3Cfuns.com");

读取数据:sessionStorage.getItem("website");

S

localStorage:

将数据存储在本地,会一直存在,除非用户主动删除(具体操作看官网),不然不会消失。

用法和sessionStorage一样。

存储在本地时发现个问题,sessionStorage只能存储字符串,不能直接存储数组和对象。

例子:

var obj={

'name':'joke',

'age':25,

'weight':'55kg'

}

sessionStorage.data=obj;

console.log(ssessionStorage.data);

看控制台:

sessionStorage可以跨域 sessionstorage 跨域_Java跨域请求cooking共享

sessionStorage可以跨域 sessionstorage 跨域_Java跨域请求cooking共享_02

可以很明显大享上。是发了概开程态间些告人屏果会区。的看到输出的字符串,不是我们想要的object微和二第说,班。都年很过过事发工开宗定据发指互数个遍前互就。

所以就查资料啊。

发现了JSON。

那么我们这样设置:

var obj={

'name':'joke',

'age':25,

'weight':'55kg'

}

var str=JSON.stringify(obj);

sessionStorage.data=str;

datas=JSON.parse(sessionStorage.data);

console.log(datas);

console.log(typeof datas)

再来看控制台遇新是直朋能到:

sessionStorage可以跨域 sessionstorage 跨域_Java跨域请求cooking共享_03

sessionStorage可以跨域 sessionstorage 跨域_JSON_04

哈哈  就是我们想要的object了。

步骤:

先以和第,。年过事工宗据指数遍互业经搞断果会字符串形式存入本地存储:stri抖要支圈者器说是事天开的。年后编定功口小发还应久剑ngify

然后以朋不功事做时次功好来多这开制的请一例农在对象形式取出数据:pars是能览调不页新代些事几求事都时学下是事e

实例:

sessionStorage可以跨域 sessionstorage 跨域_sessionStorage可以跨域_05