2011-11-25 1 views

Répondre

16

Vous devez utiliser $.ajaxComplete();

$(document).ajaxComplete(function() { 
    alert("compete"); 
}); 

ce serait déclenché après chaque Ajax appel que vous faites sur la page

sinon vous utilisez ajax() et définissez la propriété complète

$.ajax({ 
    url: "myurl", 
    complete: function(){ 
       alert("complete"); 
      } 
    //set all the other options as usual 
1

Si vous vouloir faire cela pour un appel particulier, alors la fonction complete est probablement ce dont vous avez besoin. Si vous voulez que ce soit global, pour tous les appels ajax, la réponse de Nicola devrait être ce dont vous avez besoin.

Voici le jQuery documentation pour les appels Ajax.

5

Vous pouvez utiliser le rappel à l'une des méthodes jQuery AJAX pour retarder l'exécution d'une autre fonction jusqu'à la fin de la requête.

Exemple:

$.post('/some/url', somedata, function() { 
     // put the code you want to execute on completion here 
    }); 

Pour des scénarios plus complexes, utilisez la méthode ajax réelle qui vous donne des crochets pour le succès, l'achèvement, l'erreur et d'autres événements. En règle générale, vous avez seulement besoin de succès et d'erreur.

$.ajax('/some/url', { 
     data: somedata, 
     type: 'post', 
     success: function(result) { 
      // success code execution here 
     }, 
     error: function(xhr,status,error) { 
      // error code here 
     }, 
     complete: function(xhr,status) { 
      // completion code here 
     } 
    }); 
Questions connexes