2012-03-23 13 views
83

No puedo encontrar la documentación sobre cuáles son los nombres de los tres parámetros cuando $.ajax falla.¿Cuáles son los parámetros enviados a .fail en jQuery?

En este momento, sólo estoy usando:

.fail(function(A, B, C) { 
+2

Probablemente lo mismo que pasa a la devolución de llamada 'error':' jqXHR, textStatus, errorThrown'. –

Respuesta

70

De acuerdo con la http://api.jquery.com/jQuery.ajax/fail de devolución de llamada debe estar recibiendo:

jqXHR, textStatus, errorThrown

mismo que error, pero error está en desuso:

Depreca Aviso: Las devoluciones de llamada jqXHR.success(), jqXHR.error() y jqXHR.complete() quedarán obsoletas en jQuery 1.8. Para preparar su código para su eventual eliminación, use jqXHR.done(), jqXHR.fail() y jqXHR.always() en su lugar.

+0

Ooh, no me di cuenta. Gracias por compartir esa parte de la documentación. Me alegra que las devoluciones de llamada de jQuery XHR finalmente coincidan con Deferreds. –

+1

Oh, pero el método ajaxError tiene evento, jqXHR, ajaxSettings, throwwnError. –

+0

Son todos la misma devolución de llamada que pasan los mismos argumentos, solo diferentes usos y contextos. – nathanjosiah

21

Aquí un ejemplo después de buscar el mismo problema:

this.GetOrderList = function (customerId) { 
    var self = this; 
    $.post('MySuperServer.aspx', { customerId: customerId }) 
    .done(function (dataStr) { 
     var orderList = jQuery.parseJSON(dataStr); 
     self.process(orderList); 
    }) 
    .fail(function (jqXHR, textStatus, error) { 
     console.log("Post error: " + error); 
    }); 
} 

Durante la depuración, Tengo:

  • jqXHR es un objeto JS
  • textStatus es "error"
  • error es "Error interno del servidor", es el mensaje de error enviado por el servidor.
+1

Sí, creo que lo que intentan connotar utilizando la palabra textStatus es que esta es la variable de estado y está en formato de texto. En comparación con jqXHR, que es un objeto jQuery. –

Cuestiones relacionadas