jQuery - événements ajax

Les requêtes Ajax produisent un certain nombre d'événements différents auxquels vous pouvez vous abonner. Voici une liste complète des événements et dans quel ordre ils sont diffusés.

Il existe deux types d'événements -

Événements locaux

Ce sont des rappels auxquels vous pouvez vous abonner dans l'objet de requête Ajax.

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

Événements mondiaux

Ces événements sont diffusés à tous les éléments du DOM, déclenchant tous les gestionnaires susceptibles d'être à l'écoute. Vous pouvez écouter ces événements comme ça -

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

Les événements globaux peuvent être désactivés, pour une requête Ajax particulière, en passant l'option globale, comme ceci -

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

Événements

Voici la liste complète des événements Ajax. Les événements ajaxStart et ajaxStop sont des événements qui se rapportent à toutes les demandes Ajax ensemble.

  • ajaxStart (Global Event) Cet événement est diffusé si une requête Ajax est lancée et qu'aucune autre requête Ajax n'est en cours d'exécution.

  • beforeSend (Local Event) Cet événement, qui est déclenché avant le démarrage d'une requête Ajax, vous permet de modifier l'objet XMLHttpRequest (en définissant des en-têtes supplémentaires, le cas échéant).

  • ajaxSend (Global Event) Cet événement global est également déclenché avant l'exécution de la demande.

  • success (Local Event) Cet événement n'est appelé que si la requête a abouti (pas d'erreurs du serveur, pas d'erreurs avec les données).

  • ajaxSuccess (Global Event) Cet événement est également appelé uniquement si la demande a réussi.

  • error (Local Event) Cet événement n'est appelé que si une erreur s'est produite avec la requête (vous ne pouvez jamais avoir à la fois une erreur et un rappel de réussite avec une requête).

  • ajaxError (Global Event) Cet événement global se comporte de la même manière que l'événement d'erreur local.

  • complete (Local Event)Cet événement est appelé indépendamment du fait que la demande a réussi ou non. Vous recevrez toujours un rappel complet, même pour les demandes synchrones.

  • ajaxComplete (Global Event) Cet événement se comporte de la même manière que l'événement complete et sera déclenché à chaque fois qu'une requête Ajax se termine.

  • ajaxStop (Global Event) Cet événement global est déclenché s'il n'y a plus de requêtes Ajax en cours de traitement.

jquery-ajax.htm