jQuery - eventos ajax

As solicitações Ajax produzem vários eventos diferentes que você pode assinar. Aqui está uma lista completa dos eventos e em que ordem eles são transmitidos.

Existem dois tipos de eventos -

Eventos locais

Esses são retornos de chamada que você pode assinar no objeto de solicitação Ajax.

$.ajax({
   beforeSend: function(){
      // Handle the beforeSend event
   },
   complete: function(){
     // Handle the complete event
   }
   // ......
});

Eventos Globais

Esses eventos são transmitidos para todos os elementos no DOM, acionando quaisquer manipuladores que possam estar ouvindo. Você pode ouvir esses eventos assim -

$("#loading").bind("ajaxSend", function(){
   $(this).show();
}).bind("ajaxComplete", function(){
   $(this).hide();
});

Os eventos globais podem ser desabilitados, para uma determinada solicitação Ajax, passando a opção global, assim -

$.ajax({
   url: "test.html",
   global: false,
   // ...
});

Eventos

Aqui está a lista completa de eventos Ajax. Os eventos ajaxStart e ajaxStop são eventos relacionados a todas as solicitações Ajax juntas.

  • ajaxStart (Global Event) Este evento é transmitido se uma solicitação Ajax for iniciada e nenhuma outra solicitação Ajax estiver em execução.

  • beforeSend (Local Event) Este evento, que é disparado antes do início de uma solicitação Ajax, permite que você modifique o objeto XMLHttpRequest (configurando cabeçalhos adicionais, se necessário).

  • ajaxSend (Global Event) Este evento global também é acionado antes que a solicitação seja executada.

  • success (Local Event) Este evento só é chamado se a solicitação for bem-sucedida (sem erros do servidor, sem erros com os dados).

  • ajaxSuccess (Global Event) Este evento também é chamado apenas se a solicitação for bem-sucedida.

  • error (Local Event) Este evento só é chamado se ocorrer um erro com a solicitação (você nunca pode ter um erro e um retorno de chamada de sucesso com uma solicitação).

  • ajaxError (Global Event) Este evento global se comporta da mesma forma que o evento de erro local.

  • complete (Local Event)Este evento é chamado independentemente se a solicitação foi bem-sucedida ou não. Você sempre receberá um retorno de chamada completo, mesmo para solicitações síncronas.

  • ajaxComplete (Global Event) Este evento se comporta da mesma forma que o evento complete e será disparado sempre que uma solicitação Ajax for concluída.

  • ajaxStop (Global Event) Este evento global é disparado se não houver mais solicitações Ajax sendo processadas.

jquery-ajax.htm