Bonjour,
Contexte : HTML/PHP,script PHP en asynchrone, JQuery et Ajax
Voila le problème :
Ma page principale s'affiche, et laisse le soin à un script PHP lancé en asynchrone de générer la liste demandé, qui peut être longue à générer.
Ce script est lancé lors de l'event JQuery $(document).ready(). Donc la page à fini d'être affiché lors du lancement de ce script.
J'exécute via un setInterval une fonction qui me permet de récupérer les pourcentage d'avancement pour une barre de progression.
Mais cela ne marche pas.
On dirait que le setInterval attend le retour du script générant la liste pour démarrer !
C'est une procédure déjà utilisée, via une action sur un bouton, mais pas au démarrage de la page.
Ca fait un moment que je cherche, mais rien à faire !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 $(document).ready(function() { $.ajax({ url: 'ajax/build_list.php', type : "GET", async : true, data : { sortBy : 'Code'}, }) idP=setInterval("updatePGB()", 25); }); /** * Mise à jour de la barre de progression */ function updatePGB() { $.ajax({ url : "ajax/pgbar_build.php", type : 'GET', async : false, dataType : 'text', success : function(data,statusText,jqXHR) { if (data!="END") { percent=parseInt(data); $("#pgb_step").width(percent*2); } else { clearInterval(idP); $('#progressBar').hide(); loadXML(); }; }, error : function(jqXHR,statusText) { alert("Erreur "+statusText); } }); }
Quelqu'un à une idée ?
Merci.
Partager