Hello tout le monde
Voici mon problème :
J'exécute une requête en Ajax qui peut prendre beaucoup de temps (5 secondes à plusieures heures).
Le temps que cette requête s'exécute, je passe le taux d'avancement en session coté serveur.
Mon but est de récupérer ce taux avec une autre requête Ajax afin de mettre à jour un champs coté client. (avec une boucle sur un setTimeout de 2 secondes)
Le problème est que cette dernière requête ne me retourne le résultat qu'une fois la première requête terminée. (et donc m'affiche 100% d'avancement)
Voici mon code :
Pour info, j'ai essayé d'appeller la fonction getCountDown() dans un .ajaxStart, ça ne change rien.
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 $('#launchSitemapCheck') .click( function() { getCountDown(); //appel a la fonction qui appelle l'avancement var soumission = $.ajax({ type: "POST", url: "monURL.php", data: "toto=1", success: function(reponse){ alert(reponse); } }); }); function getCountDown() { setTimeout(function(){ var appel2 = $.ajax({ url: "2emeURL.php", success: function(rep){ alert(rep); getCountDown(); } }); }, 2000); };
Si vous avez une idée, je suis preneur, ça fait 1 semaine que je suis sur ce problème.
Merci d'avance
l0wk3y
Partager