Da documentação do JQuery
Os objetos jqXHR retornados pelo $.ajax()jQuery 1.5 implementam a interface Promise, fornecendo a eles todas as propriedades, métodos e comportamento de uma Promise (consulte Objeto adiado para obter mais informações). Esses métodos usam um ou mais argumentos de função que são chamados quando a $.ajax()solicitação termina. Isso permite atribuir vários retornos de chamada em uma única solicitação e até atribuir retornos de chamada após a conclusão da solicitação. (Se a solicitação já estiver concluída, o retorno de chamada será acionado imediatamente.) Os métodos Promise disponíveis do objeto jqXHR incluem:
jqXHR.done(function( data, textStatus, jqXHR ) {});
Uma construção alternativa à opção de retorno de chamada bem-sucedida, consulte os deferred.done()detalhes da implementação.
jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});
Uma construção alternativa à opção de retorno de chamada de erro, o .fail()método substitui o método .error () descontinuado. Consulte deferred.fail () para obter detalhes da implementação.
jqXHR.always(function( data|jqXHR, textStatus, jqXHR|errorThrown ) { });
(adicionado no jQuery 1.6) Uma construção alternativa à opção de retorno de chamada completa, o .always()método substitui o .complete()método obsoleto .
Em resposta a uma solicitação bem-sucedida, os argumentos da função são os mesmos de .done(): data, textStatus e o objeto jqXHR. Para pedidos com falha, os argumentos são os mesmos de .fail(): o objeto jqXHR, textStatus e errorThrown. Consulte os deferred.always()detalhes da implementação.
jqXHR.then(function( data, textStatus, jqXHR ) {}, function( jqXHR, textStatus, errorThrown ) {});
Incorpora a funcionalidade dos métodos .done()e .fail(), permitindo (a partir do jQuery 1.8) a promessa subjacente ser manipulada. Consulte adiado .then()para obter detalhes da implementação.
Deprecation Aviso: O jqXHR.success(), jqXHR.error()e jqXHR.complete()chamadas de retorno são removidos a partir de jQuery 3.0. Você pode usar
jqXHR.done(), jqXHR.fail()e, jqXHR.always()em seu lugar.
success:/.done()são definidas, se é que existem. Por exemplo, ésuccess:apenas implementado como o primeiro.done()nos dias de hoje?