De la documentación de JQuery
Los objetos jqXHR devueltos por $.ajax()
jQuery 1.5 implementan la interfaz Promise, dándoles todas las propiedades, métodos y comportamiento de una Promesa (consulte Objeto diferido para obtener más información). Estos métodos toman uno o más argumentos de función que se invocan cuando $.ajax()
finaliza la solicitud. Esto le permite asignar múltiples devoluciones de llamada en una sola solicitud, e incluso asignar devoluciones de llamada después de que la solicitud se haya completado. (Si la solicitud ya está completa, la devolución de llamada se activa inmediatamente). Los métodos de Promesa disponibles del objeto jqXHR incluyen:
jqXHR.done(function( data, textStatus, jqXHR ) {});
Una construcción alternativa a la opción de devolución de llamada exitosa, consulte los deferred.done()
detalles de implementación.
jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});
Una construcción alternativa a la opción de devolución de llamada de error, el .fail()
método reemplaza el método .error () en desuso. Consulte deferred.fail () para obtener detalles de implementación.
jqXHR.always(function( data|jqXHR, textStatus, jqXHR|errorThrown ) { });
(agregado en jQuery 1.6) Una construcción alternativa a la opción de devolución de llamada completa, el .always()
método reemplaza el .complete()
método en desuso .
En respuesta a una solicitud exitosa, los argumentos de la función son los mismos que los de .done()
: data, textStatus y el objeto jqXHR. Para solicitudes fallidas, los argumentos son los mismos que los de .fail()
: el objeto jqXHR, textStatus y errorThrown. Consulte deferred.always()
para detalles de implementación.
jqXHR.then(function( data, textStatus, jqXHR ) {}, function( jqXHR, textStatus, errorThrown ) {});
Incorpora la funcionalidad de los métodos .done()
y .fail()
, lo que permite (a partir de jQuery 1.8) manipular la promesa subyacente. Consulte diferido .then()
para obtener detalles de implementación.
Deprecation Aviso: El jqXHR.success()
, jqXHR.error()
y jqXHR.complete()
devoluciones de llamada se retiran a partir de jQuery 3.0. Se puede utilizar
jqXHR.done()
, jqXHR.fail()
y jqXHR.always()
en su lugar.
success:
/.done()
, en todo caso. Por ejemplo, ¿success:
solo se implementa como el primero en.done()
estos días?