2012-07-08 4 views
1

Ma page envoie plusieurs requêtes HTTP en arrière-plan. Les demandes sont déclenchées par certaines actions de l'utilisateur. Certaines actions de l'utilisateur peuvent provoquer une redirection - et nous avons ici un problème: nous voulons que la redirection ne se produise que lorsque toutes les demandes ont été envoyées.Requêtes http async service

La question est: existe-t-il une bibliothèque Javascript que vous pouvez recommander qui permettrait d'attendre que tous les rapports soient envoyés et de déclencher la redirection seulement après?

+0

vous utilisez ajax (jquery?)? –

Répondre

0

Avec vous pouvez probablement profiter de l'événement ajaxStop, qui est déclenché lorsque tous les appels AJAX sont fait (pas plus de connexions en attente). Here is an example:

$(document).ajaxStop(allDone); 

function allDone() { 
    console.info("Now redirecting"); 
} 

$.getJSON('/echo/json/', function() { 
    console.info("First done"); 
    $.getJSON('/echo/json/', function() { 
     console.info("Third done"); 
    }); 
}); 
$.getJSON('/echo/json/', function() { 
    console.info("Second done"); 
}); 

Peu importe ce qui sera l'ordre des réponses, le rappel allDone() est toujours exécutée en dernier.