【前端学习进阶】前端HTML5特性 原生javascript使用IndexedDB 存储本地数据。

IndexedDB是一种在客户端(前端)存储数据的数据库API。它允许存储和检索大量结构化数据,可用于创建类似搜索引擎这样的应用程序。下面是一个使用IndexedDB的简单示例,展示了如何创建一个存储并检索数据的网页应用:

  1. 创建数据库和存储对象:

let databaseName = "myDatabase";
let objectStoreName = "myObjectStore";

let request = indexedDB.open(databaseName, 1);

request.onupgradeneeded = function(event) {
  let db = event.target.result;

  // 创建一个存储对象,指定唯一的键路径
  let objectStore = db.createObjectStore(objectStoreName, { keyPath: "id" });

  // 创建索引,以便可以按特定字段进行检索
  objectStore.createIndex("name", "name", { unique: false });
};

request.onsuccess = function(event) {
  // 数据库打开成功后,可以执行后续操作
  let db = event.target.result;
  
  // ...执行其他操作,如添加、更新或删除数据
};

request.onerror = function(event) {
  // 数据库打开发生错误时的处理
  console.error("Database error: " + event.target.errorCode);
};

  1. 添加数据到对象存储:
let transaction = db.transaction([objectStoreName], "readwrite");
let objectStore = transaction.objectStore(objectStoreName);

let data = { id: 1, name: "John Doe", age: 30 };
let addRequest = objectStore.add(data);

addRequest.onsuccess = function(event) {
  console.log("Data added successfully");
};

addRequest.onerror = function(event) {
  console.error("Error adding data: " + event.target.error);
};

  1. 检索数据:
let transaction = db.transaction([objectStoreName], "readonly");
let objectStore = transaction.objectStore(objectStoreName);

let getRequest = objectStore.get(1);

getRequest.onsuccess = function(event) {
  let result = event.target.result;
  console.log("Retrieved data:", result);
};

getRequest.onerror = function(event) {
  console.error("Error retrieving data: " + event.target.error);
};

这只是一个简单的示例,演示了如何使用IndexedDB在前端进行数据存储和检索。您可以根据自己的需求进行扩展和修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

你曾记得认识的那家花店吗

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

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

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

打赏作者

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

抵扣说明:

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

余额充值