--- title: IDBRequest.onerror slug: Web/API/IDBRequest/onerror translation_of: Web/API/IDBRequest/onerror ---

{{ APIRef("IndexedDB") }}

le gestionnaire d'événement onerror de l'interface {{domxref("IDBRequest")}} capte l'événement error, déclenché quand une requête renvoie une erreur.

Le gestionnaire d'événement reçoit l'événement error avec le type="error" en paramètre.

{{AvailableInWorkers}}

Syntaxe

request.onerror = function( event ) { ... };

Exemple

L'exemple suivant demande un titre d'enregistrement donné, onsuccess obtient l'enregistrement associé au {{domxref("IDBObjectStore","magasin d'objets")}} (mis à disposition en tant que objectStoreTitleRequest.result), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objets. En bas le gestionnaire d'événement onerror affiche le code d'erreur si la {{domxref("IDBRequest","requête")}} échoue. Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).

var title = "Walk dog";

// Ouvrez une transaction comme d'habitude
var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');

// Obtenez l'objet toDoList qui a ce titre
var objectStoreTitleRequest = objectStore.get(title);

objectStoreTitleRequest.onsuccess = function() {
  // Prenez l'objet de données renvoyé comme résultat
  var data = objectStoreTitleRequest.result;

  // Mettre à jour la valeur notified de l'objet à "yes"
  data.notified = "yes";

  // Créer une autre requête qui insère le nouvelle élément dans la base de données
  var updateTitleRequest = objectStore.put(data);

  // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage
  updateTitleRequest.onsuccess = function() {
    displayData();
  };
};

objectStoreTitleRequest.onerror = function() {
  // Si une erreur se produit à la demande, on l'affiche
  console.log("Il y a eu une erreur dans la récupération des données: " + objectStoreTitleRequest.error);
};

Spécifications

Spécification Statut Commentaire
{{SpecName('IndexedDB', '#widl-IDBRequest-onerror', 'onerror')}} {{Spec2('IndexedDB')}}  

Compatibilité avec les navigateurs

{{CompatibilityTable}}
Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support basique 23{{property_prefix("webkit")}}
24
10 {{property_prefix("moz")}}
{{CompatGeckoDesktop("16.0")}}
10, en partie 15 7.1
Disponible dans workers {{CompatVersionUnknown}} {{CompatGeckoMobile("37.0")}} {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatUnknown}}
Fonctionnalité Android Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Support basique 4.4 {{CompatGeckoMobile("22.0")}} 1.0.1 10 22 8
Disponible dans workers {{CompatVersionUnknown}} {{CompatGeckoMobile("37.0")}} {{CompatVersionUnknown}} {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatUnknown}}

Voir aussi