vue项目使用cookie、localStorage和sessionStorage进行储存数据

一,cookie的使用
 

1,首先加载模块

npm i js-cookie -S

2,在使用cookie的页面上进行引入

import Cookies from 'js-cookie'

3,使用方法

创建一个在整个网站上有效的Cookie

Cookies.set('name', 'value');

创建一个从现在起7天后过期的cookie,在整个站点上有效:

Cookies.set('name', 'value', { expires: 7 });

创建一个过期的cookie,对当前页面的路径有效:

Cookies.set('name', 'value', { expires: 7, path: '' });

读取cookie:

Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined

阅读所有可见的Cookie:

Cookies.get(); // => { name: 'value' }

删除cookie:

Cookies.remove('name');

删除对当前页面路径有效的cookie:

Cookies.set('name', 'value', { path: '' });
Cookies.remove('name'); // fail!
Cookies.remove('name', { path: '' }); // removed!

注:
删除cookie时,您必须传递用于设置cookie的完全相同的路径和域属性,除非您依赖于默认属性。
删除未存在的cookie不会引发任何异常,也不会返回任何值

二,localStorage的使用

注:vue下使用localStorage和H5使用localStorage的方法是一致的,不需要引入插件

1,储存

//数据
localStorage.setItem('userName','HelloWeen');

2,获取

localStorage.getItem('userName')

3,删除

localStorage.removeItem('userName');

4,localStorage可以储存JSON对象,且没有时间限制的数据存储 ,除非主动删除。

// 数组
var arr=[1,2,3];
localStorage.setItem("temp",arr); // 会返回1,2,3
console.log(typeof localStorage.getItem("temp"));// string
console.log(localStorage.getItem("temp"));// 1,2,3

5,localStorage.setItem() 不会自动将Json对象转成字符串形式

var user= {"userName": "hello","age": 2};
typeof localStorage.getItem("user");// 也会返回String
localStorage.setItem("user", user);// 但是返回[object Object],

6,用localStorage.setItem()正确存储JSON对象方法是:

  • 存储前先用JSON.stringify()方法将json对象转换成字符串形式
  • JSON.stringify() 方法可以将任意的 JavaScript 值序列化成 JSON 字符串
  • 获取的时候要将之前存储的JSON字符串使用JSON.parse()先转成JSON对象再进行操作
var user= {"userName": "hello","age": 2};
user= JSON.stringify(user); // 转化为JSON字符串  "{"userName":"hello","age":2}"
localStorage.setItem("user", user);// 返回{"userName":"hello","age":2}
user=JSON.parse(localStorage.getItem("user"));

三,sessionStorage的使用


定义和使用
localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。

sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

注: 如果你想在浏览器窗口关闭后还保留数据,可以使用 localStorage 属性, 改数据对象没有过期时间,今天、下周、明年都能用,除非你手动去删除。

1,方法

 sessionStorage.key(int index) // 返回当前 sessionStorage 对象的第index序号的key名称。若没有返回null。

 sessionStorage.getItem(string key) // 返回键名(key)对应的值(value)。若没有返回null。

 sessionStorage.setItem(string key, string value) // 该方法接受一个键名(key)和值(value)作为参数,将键值对添加到存储中;如果键名存在,则更新其对应的值。

 sessionStorage.removeItem(string key) // 将指定的键名(key)从 sessionStorage 对象中移除。

 sessionStorage.clear() // 清除 sessionStorage 对象所有的项。

2,存储数据

2.1 采用setItem()方法存储

sessionStorage.setItem('testKey','这是一个测试的value值'); // 存入一个值

2.2 通过属性方式存储

sessionStorage['testKey'] = '这是一个测试的value值';

2.3 存储Json对象

sessionStorage也可存储Json对象:存储时,通过JSON.stringify()将对象转换为文本格式;读取时,通过JSON.parse()将文本转换回对象。

var userEntity = {
    name: 'tom',
    age: 22
};
 
// 存储值:将对象转换为Json字符串
sessionStorage.setItem('user', JSON.stringify(userEntity));
 
// 取值时:把获取到的Json字符串转换回对象
var userJsonStr = sessionStorage.getItem('user');
userEntity = JSON.parse(userJsonStr);
console.log(userEntity.name); // => tom

3,读取数据

3.1 通过getItem()方法取值

sessionStorage.getItem('testKey'); // => 返回testKey对应的值

3.2 通过属性方式取值

sessionStorage['testKey']; // => 这是一个测试的value值

  • 3
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用: cookie是存储在用户本地终端上的数据,用于辨别用户身份和进行会话跟踪。通常经过加密。它是一种在客户端存储数据的机制。引用:session和cookie都是用来跟踪浏览器用户身份的会话方式,记录客户状态的机制。引用:session比cookie具有更高的安全性。 cookie主要的特点是: - 存储在用户本地终端上,可以被浏览器读取和修改; - 可以设置过期时间,即在一定时间后失效; - 存储数据的大小有限制,一般为4KB; - 可以被不同的域名共享。 sessionStorage是HTML5新增的Web存储技术,它在浏览器中存储数据,但是与cookie不同,它的数据只会在当前会话中保留,即当用户关闭浏览器标签页或窗口时,数据会被清除。sessionStorage的特点如下: - 存储在浏览器中,只能被当前页面访问; - 数据在当前会话中有效,关闭标签页或窗口后数据会被清除; - 存储数据的大小也有限制,一般为5MB; - 数据仅在同一域名下共享。 localStorage也是HTML5新增的Web存储技术,与sessionStorage类似,它也是存储在浏览器中的数据。但与sessionStorage不同的是,localStorage数据在用户关闭浏览器后仍然会保留,不会被清除。localStorage的特点如下: - 存储在浏览器中,可以被所有页面访问; - 数据在浏览器关闭后仍然有效,除非用户手动清除; - 存储数据的大小也有限制,一般为5MB; - 数据仅在同一域名下共享。 服务端session是指将用户的会话信息存储在服务器端,通过在客户端存储一个session id来与服务器端进行交互。服务器端根据session id来识别用户,从而实现身份认证和会话管理。与前面提到的cookie和Web存储技术不同,服务端session的数据存储在服务器端,客户端只存储了一个标识。服务端session的特点如下: - 数据存储在服务器端,客户端只存储session id; - 数据在客户端关闭或过期后不会被清除; - 可以存储大量的数据,没有明确的大小限制; - 数据不共享,每个用户拥有自己的session数据。 综上所述,cookiesessionStoragelocalStorage是用来在浏览器端存储数据的机制,它们在数据存储的范围、有效期和共享性上有所不同。而服务端session是将用户的会话信息存储在服务器端,通过在客户端存储一个session id来与服务器端进行交互。请根据具体的需求选择合适的机制来使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于Vue 服务端Cookies删除的问题](https://download.csdn.net/download/weixin_38658564/13633580)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [session,cookie,sessionStorage,localStorage的区别](https://blog.csdn.net/weixin_43758377/article/details/109215019)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值