La documentation indique que la fonction error: error rendra disponible: une instance XHR, une chaîne de message d’état (dans ce cas toujours une erreur) et un object exception facultatif renvoyé depuis l’instance XHR (Book: JQuery in Action)
En utilisant l’appel suivant (dans l’appel $ .ajax), j’ai pu déterminer que j’avais une erreur de “parsererror” et un “timeout” (depuis que j’ai ajouté le timeout: option)
error: function(request, error){}
Quelles sont les autres choses que vous évaluez dans l’option d’erreur? incluez-vous l’object exception facultatif?
EDIT: une des réponses indique toutes les erreurs de retour … en savoir plus sur ce qui est utile (pour le débogage) dans l’instance XHR et l’object exception seraient utiles
Ceci est un appel complet à $ .ajax:
$.ajax({ type: "post", url: "http://myServer/cgi-bin/broker" , dataType: "text", data: { '_service' : 'myService', '_program' : 'myProgram', 'start' : start, 'end' : end }, beforeSend: function() { $("#loading").removeClass("hide"); }, timeout: 5000, error: function(request,error) { $("#loading").addClass("hide"); if (error == "timeout") { $("#error").append("The request timed out, please resubmit"); } else { $("#error").append("ERROR: " + error); } }, success: function(request) { $("#loading").addClass("hide"); var t = eval( "(" + request + ")" ) ; } // End success }); // End ajax method
Merci pour la consortingbution
En regardant le code source de jQuery, il y a quatre statuts retournés, en plus du succès :
Je trouve la demande plus utile que l’erreur.
error:function(xhr,err){ alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status); alert("responseText: "+xhr.responseText); }
xhr est XmlHttpRequest.
Les valeurs de readyState sont 1: chargement, 2: chargé, 3: interactif, 4: complet .
status est le numéro d’état HTTP, à savoir 404: non trouvé, 500: erreur de serveur, 200: ok .
responseText est la réponse du serveur. Il peut s’agir de texte ou de code JSON du service Web ou de code HTML du serveur Web.
Ceci est un aparté, mais je pense qu’il y a un bug dans le code que vous avez soumis. La ligne:
if (error = "timeout") {
devrait avoir plus de signes égaux dedans:
if (error == "timeout") {
Le deuxième argument transmis à votre fonction d’erreur sera soit la chaîne “timeout” “Parserror” “error” ou “notmodified”. Le troisième sera l’object exception. Cet object peut être utile pour le débogage.
Êtes-vous sûr que cette réponse est correcte? Erreur d’parsing signifie qu’il y a une erreur avec les données évaluées dans la ligne var t = eval( "(" + request + ")" ) ;