jQuery - eventos ajax

Las solicitudes de Ajax producen una serie de eventos diferentes a los que puede suscribirse. Aquí hay una lista completa de los eventos y en qué orden se transmiten.

Hay dos tipos de eventos:

Eventos locales

Estas son devoluciones de llamada a las que puede suscribirse dentro del objeto de solicitud Ajax.

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

Eventos Globales

Estos eventos se transmiten a todos los elementos del DOM, lo que activa cualquier controlador que pueda estar escuchando. Puedes escuchar estos eventos así:

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

Los eventos globales se pueden deshabilitar, para una solicitud Ajax en particular, pasando la opción global, así:

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

Eventos

Aquí está la lista completa de eventos de Ajax. Los eventos ajaxStart y ajaxStop son eventos que se relacionan con todas las solicitudes Ajax juntas.

  • ajaxStart (Global Event) Este evento se transmite si se inicia una solicitud Ajax y no se están ejecutando otras solicitudes Ajax actualmente.

  • beforeSend (Local Event) Este evento, que se activa antes de que se inicie una solicitud Ajax, le permite modificar el objeto XMLHttpRequest (configurando encabezados adicionales, si es necesario).

  • ajaxSend (Global Event) Este evento global también se activa antes de que se ejecute la solicitud.

  • success (Local Event) Este evento solo se llama si la solicitud fue exitosa (sin errores del servidor, sin errores con los datos).

  • ajaxSuccess (Global Event) Este evento también se llama solo si la solicitud se realizó correctamente.

  • error (Local Event) Este evento solo se llama si ocurrió un error con la solicitud (nunca puede tener tanto un error como una devolución de llamada exitosa con una solicitud).

  • ajaxError (Global Event) Este evento global se comporta igual que el evento de error local.

  • complete (Local Event)Este evento se llama independientemente de si la solicitud se realizó correctamente o no. Siempre recibirá una devolución de llamada completa, incluso para solicitudes sincrónicas.

  • ajaxComplete (Global Event) Este evento se comporta igual que el evento completo y se activará cada vez que finalice una solicitud Ajax.

  • ajaxStop (Global Event) Este evento global se activa si no se procesan más solicitudes de Ajax.

jquery-ajax.htm