Maison >interface Web >tutoriel HTML >Comment utiliser IndededDB pour le stockage de la base de données côté client dans HTML5?
IndededDB est une API de bas niveau pour le stockage côté client des données structurées, y compris les fichiers / blobs. Pour utiliser IndededDB dans HTML5 pour le stockage de la base de données côté client, vous pouvez suivre ces étapes:
Ouvrez une base de données:
Commencez par ouvrir une connexion à la base de données indexée. Cela peut être fait en utilisant la méthode indexedDB.open()
. Vous spécifierez un nom pour votre base de données et éventuellement un numéro de version. Le gestionnaire d'événements onupgradeneeded
est utilisé pour configurer le schéma de base de données lorsque la base de données est créée ou que sa version change.
<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>
Ajouter des données:
Pour ajouter des données à votre base de données indexée, vous ouvrez d'abord une transaction, puis utilisez la méthode add()
ou put()
sur la boutique d'objets.
<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>
Récupérer les données:
Pour récupérer les données, vous pouvez utiliser la méthode get()
si vous connaissez la clé. Pour des requêtes plus complexes, vous pouvez utiliser des curseurs ou des index.
<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>
Mettre à jour et supprimer les données:
La mise à jour des données peut être effectuée à l'aide de la méthode put()
, qui insérera ou mettra à jour les données en fonction de la clé. Pour supprimer les données, utilisez la méthode 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>
Gestion des erreurs:
Gérez toujours les erreurs à l'aide de l'événement onerror
pour assister à tous les problèmes qui surviennent pendant les opérations de base de données.
<code class="javascript">request.onerror = function(event) { console.log("Database error: " event.target.errorCode); };</code>
IndededDB offre plusieurs avantages pour le stockage des données du côté du client:
Assurer la persistance et la sécurité des données dans IndededDB implique plusieurs pratiques clés:
Persistance des données:
Sécurité des données:
Lors de la mise en œuvre d'indexation indexée, il est important d'éviter les pièges courants qui peuvent entraîner des problèmes de performances ou des défaillances des applications:
onerror
pour attraper et enregistrer les erreurs.idb
vers Résumé.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!