浏览器存储数据的几种方式


一、localStorage

将数据存储到浏览器中,有效期是在不进行手动删除的情况下一直有效的。

1.1 存储数据

// 假设你有一个对象或字符串要保存  
let data = { name: 'John', age: 30 };  
  
// 因为localStorage只能保存字符串,所以你需要将数据转换为JSON字符串  
localStorage.setItem('myData', JSON.stringify(data));

1.2 读取数据

// 使用getItem方法并解析返回的JSON字符串  
let retrievedData = JSON.parse(localStorage.getItem('myData'));  
  
console.log(retrievedData); // 输出: { name: 'John', age: 30 }

1.3 更新数据

// 更新对象的一个属性  
retrievedUser.age = 31;  
  
// 将更新后的对象转换为 JSON 字符串并重新存储  
localStorage.setItem('user', JSON.stringify(retrievedUser));

1.4 删除数据

// 删除指定的数据项  
localStorage.removeItem('user');

1.5 清除所有数据

// 清除 localStorage 中的所有数据  
localStorage.clear();

1.6 获取长度

// 使用 localStorage.length 获取键的数量  
var length = localStorage.length;  

1.7 循环遍历

// 假设我们已经在 localStorage 中存储了一些数据  
localStorage.setItem('key1', 'value1');  
localStorage.setItem('key2', 'value2');  
localStorage.setItem('key3', 'value3');  
  
// 使用 localStorage.length 获取键的数量  
var length = localStorage.length;  
  
// 使用循环遍历所有的键  
for (var i = 0; i < length; i++) {  
    // 使用 localStorage.key(index) 获取键名  
    var key = localStorage.key(i);  
    // 使用 localStorage.getItem(key) 获取对应的值  
    var value = localStorage.getItem(key);  
      
    console.log('Key: ' + key + ', Value: ' + value);  
}

输出

Key: key1, Value: value1  
Key: key2, Value: value2  
Key: key3, Value: value3

二、Cookies

有效期是可以设置的,默认情况下是关闭浏览器后失效。但也可以通过设置expires属性来指定一个具体的过期时间。
Cookies:通常存储量较小,大约为4KB左右。由于每次HTTP请求都会携带Cookies,因此只适合保存很小的数据,如会话标识。

在前端,通常使用js-cookie,来处理cookie

下载

npm install js-cookie --save

引用

import Cookies from "js-cookie";

2.1 存储数据

// 创建一个 cookie,有效期为 7 天  
Cookies.set('username', 'John Doe', { expires: 7 });  

2.2 读取数据

// 读取一个 cookie  
var username = Cookies.get('username');  
  
// 读取一个包含对象的 cookie  
var user = Cookies.getJSON('user');

2.3 更新数据

// 更新一个 cookie 的值  
Cookies.set('username', 'Jane Doe'); // 这会覆盖之前的 'username' cookie

2.4 删除数据

// 删除一个 cookie  
Cookies.remove('username');

2.5 检查Cookie是否存在

// 检查一个 cookie 是否存在  
if (Cookies.get('username')) {  
    // 'username' cookie 存在  
}

三、sessionStorage

sessionStorage 是 Web Storage API 的一部分,它允许你在同一浏览器会话中存储键值对数据。与 localStorage 不同,sessionStorage 中的数据仅在当前浏览器会话中有效,即当页面会话结束(通常是浏览器窗口或标签页被关闭)时,存储的数据就会被清除。

3.1 存储数据

// 存储一个键值对  
sessionStorage.setItem('key', 'value');  
  
// 存储一个对象(需转换为 JSON 字符串)  
var obj = { name: 'John Doe', age: 30 };  
sessionStorage.setItem('user', JSON.stringify(obj));

3.2 读取数据

// 读取一个键值对  
var value = sessionStorage.getItem('key');  
  
// 读取一个对象(需从 JSON 字符串转换回对象)  
var user = JSON.parse(sessionStorage.getItem('user'));

3.3 更新数据

// 更新一个键值对,其实就是重新存储  
sessionStorage.setItem('key', 'new value');

3.4 删除数据

// 删除一个键值对  
sessionStorage.removeItem('key');  
  
// 清除所有键值对  
sessionStorage.clear();

3.5 监听

window.addEventListener('storage', function(event) {  
  if (event.storageArea === sessionStorage) {  
    if (event.key) {  
      console.log(event.key + ' was modified.');  
    } else {  
      console.log('sessionStorage was cleared.');  
    }  
  }  
});
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
本系统的研发具有重大的意义,在安全性方面,用户使用浏览器访问网站时,采用注册和密码等相关的保护措施,提高系统的可靠性,维护用户的个人信息和财产的安全。在方便性方面,促进了校园失物招领网站的信息化建设,极大的方便了相关的工作人员对校园失物招领网站信息进行管理。 本系统主要通过使用Java语言编码设计系统功能,MySQL数据库管理数据,AJAX技术设计简洁的、友好的网址页面,然后在IDEA开发平台中,编写相关的Java代码文件,接着通过连接语言完成与数据库的搭建工作,再通过平台提供的Tomcat插件完成信息的交互,最后在浏览器中打开系统网址便可使用本系统。本系统的使用角色可以被分为用户和管理员,用户具有注册、查看信息、留言信息等功能,管理员具有修改用户信息,发布寻物启事等功能。 管理员可以选择任一浏览器打开网址,输入信息无误后,以管理员的身份行使相关的管理权限。管理员可以通过选择失物招领管理,管理相关的失物招领信息记录,比如进行查看失物招领信息标题,修改失物招领信息来源等操作。管理员可以通过选择公告管理,管理相关的公告信息记录,比如进行查看公告详情,删除错误的公告信息,发布公告等操作。管理员可以通过选择公告类型管理,管理相关的公告类型信息,比如查看所有公告类型,删除无用公告类型,修改公告类型,添加公告类型等操作。寻物启事管理页面,此页面提供给管理员的功能有:新增寻物启事,修改寻物启事,删除寻物启事。物品类型管理页面,此页面提供给管理员的功能有:新增物品类型,修改物品类型,删除物品类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Monly21

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值