Maison >interface Web >js tutoriel >Comment récupérer des messages d'erreur détaillés à partir de la réponse d'erreur AJAX de jQuery ?

Comment récupérer des messages d'erreur détaillés à partir de la réponse d'erreur AJAX de jQuery ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 06:28:03377parcourir

How to Retrieve Detailed Error Messages from jQuery's AJAX Error Response?

Comprendre la réponse d'erreur AJAX de jQuery

Lors de l'envoi de réponses d'erreur dans jQuery, la récupération du message texte détaillé peut poser un défi. Par défaut, jQuery ne fournit qu'un message d'erreur générique, vous laissant des informations limitées.

Dans l'exemple fourni, une erreur HTTP 500 est envoyée avec un message personnalisé "Parti à la plage". Cependant, lors de l'utilisation du rappel d'erreur dans jQuery, le journal de la console et l'alerte affichent uniquement "erreur".

Accès au texte de réponse d'erreur

Pour accéder à la réponse d'erreur réelle texte, vous pouvez modifier la fonction de rappel d'erreur. Voici comment :

<code class="javascript">$.ajax({
  type: "post",
  data: { id: 0 },
  cache: false,
  url: "doIt.php",
  dataType: "text",
  error: function(xhr, status, error) {
    var err = eval("(" + xhr.responseText + ")");
    alert("Can't do because: " + err.Message);
  },
  success: function() { alert("Done ! "); }
});</code>

Dans ce code modifié :

  • xhr est l'objet XMLHttpRequest qui contient la réponse d'erreur.
  • xhr.responseText contient l'erreur réelle texte de réponse.
  • eval("(" xhr.responseText ")") convertit la chaîne JSON renvoyée par le serveur en un objet JavaScript.
  • Vous pouvez ensuite accéder à des propriétés d'erreur spécifiques, telles que err.Message, pour afficher le message d'erreur détaillé.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn