Rumah >hujung hadapan web >html tutorial >Bagaimanakah saya menggunakan IndexedDB untuk penyimpanan pangkalan data pelanggan di HTML5?
IndexeDDB adalah API peringkat rendah untuk penyimpanan data berstruktur pelanggan, termasuk fail/gumpalan. Untuk menggunakan IndexedDB dalam HTML5 untuk penyimpanan pangkalan data pelanggan, anda boleh mengikuti langkah-langkah ini:
Buka pangkalan data:
Mulailah dengan membuka sambungan ke pangkalan data IndexedDB. Ini boleh dilakukan menggunakan kaedah indexedDB.open()
. Anda akan menentukan nama untuk pangkalan data anda dan pilihan nombor versi. Pengendali acara onupgradeneeded
digunakan untuk menubuhkan skema pangkalan data apabila pangkalan data dibuat atau perubahan versi.
<code class="javascript">const request = indexedDB.open("MyDatabase", 1); request.onupgradeneeded = function(event) { const db = event.target.result; // Create an objectStore for this database const objectStore = db.createObjectStore("items", { keyPath: "id" }); // Create an index to search items by name objectStore.createIndex("name", "name", { unique: false }); };</code>
Tambah data:
Untuk menambah data ke pangkalan data IndexedDB anda, anda mula -mula membuka transaksi, kemudian gunakan kaedah add()
atau put()
pada kedai objek.
<code class="javascript">request.onsuccess = function(event) { const db = event.target.result; const transaction = db.transaction(["items"], "readwrite"); const objectStore = transaction.objectStore("items"); const request = objectStore.add({ id: 1, name: "item1", price: 10 }); request.onsuccess = function(event) { console.log("Item added to the database"); }; };</code>
Dapatkan data:
Untuk mendapatkan data, anda boleh menggunakan kaedah get()
jika anda tahu kunci. Untuk pertanyaan yang lebih kompleks, anda boleh menggunakan kursor atau indeks.
<code class="javascript">request.onsuccess = function(event) { const db = event.target.result; const transaction = db.transaction(["items"], "readonly"); const objectStore = transaction.objectStore("items"); const request = objectStore.get(1); request.onsuccess = function(event) { console.log("Item retrieved: ", event.target.result); }; };</code>
Kemas kini dan Padam Data:
Mengemas kini data boleh dilakukan dengan menggunakan kaedah put()
, yang akan memasukkan atau mengemas kini data berdasarkan kunci. Untuk memadam data, gunakan kaedah delete()
.
<code class="javascript">request.onsuccess = function(event) { const db = event.target.result; const transaction = db.transaction(["items"], "readwrite"); const objectStore = transaction.objectStore("items"); const requestUpdate = objectStore.put({ id: 1, name: "item1 updated", price: 15 }); const requestDelete = objectStore.delete(2); };</code>
Pengendalian ralat:
Sentiasa mengendalikan kesilapan menggunakan acara onerror
untuk menangkap sebarang isu yang timbul semasa operasi pangkalan data.
<code class="javascript">request.onerror = function(event) { console.log("Database error: " event.target.errorCode); };</code>
IndexEdDB menawarkan beberapa faedah untuk menyimpan data di sisi klien:
Memastikan kegigihan data dan keselamatan dalam IndexedDB melibatkan beberapa amalan utama:
Kegigihan Data:
Keselamatan Data:
Semasa melaksanakan IndexedDB, penting untuk mengelakkan perangkap biasa yang boleh membawa kepada isu prestasi atau kegagalan aplikasi:
onerror
untuk menangkap dan log ralat.idb
untuk perbezaan pelayar abstrak.Atas ialah kandungan terperinci Bagaimanakah saya menggunakan IndexedDB untuk penyimpanan pangkalan data pelanggan di HTML5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!