Quel genre de situation pourrait faire appeler ce gestionnaire? Je ne trouve aucun cas où cette méthode génère une erreur.
J'ai essayé avec l'appareil hors ligne, je reçois xmlHttpRequest.status = 0
mais aucune erreur.
La question est quel type de situations puis-je créer afin de tester les fonctionnalités de ce gestionnaire.
var xmlhttp = new XMLHttpRequest(),
method = 'GET',
url = 'https://developer.mozilla.org/';
xmlhttp.open(method, url, true);
xmlhttp.onerror = function () {
console.log("** An error occurred during the transaction");
};
xmlhttp.send();
De: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestEventTarget/onerror
Votre question est l'exemple parfait. Essayez simplement votre code à partir de votre console de développeur Web sur cette même page.
Ici, essayez vous-même:
var xmlhttp = new XMLHttpRequest(),
method = 'GET',
url = 'https://developer.mozilla.org/';
xmlhttp.open(method, url, true);
xmlhttp.onerror = function () {
console.log("** An error occurred during the transaction");
};
xmlhttp.send();
Vous pouvez demander à votre serveur de renvoyer toute réponse HTTP avec un code d’état supérieur à 400. Il se déclenchera. Vous pouvez également tester différents en-têtes CORS.
Étant donné qu'un appel XHR concerne une réponse du serveur, onerror entrerait en jeu en cas d'erreur sur le serveur. Changer votre client pour qu'il soit hors ligne ne simule pas une erreur de serveur.
Supposons que la ressource du serveur soit déplacée et que le serveur réponde avec une erreur 404? Et si le serveur arrive à expiration? Que se passe-t-il si la requête elle-même est mal formée et que le serveur génère une erreur?