Bonjour,
Voilà mon problème:
Lorsque je fais une requete ajax j'aimerai que ma barre de chargement change mais elle change qu'à la fin de mon traitement php. Et si j'actualise ma page avant la fin de mon traitement php, et bien ma barre de chargement est par exemple à 12%
voici le code de index.php :
Voici le code Ajax.js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div id="pourcentage" style="position:absolute;top:10;left:50;width:200px;height:30px;border:1px solid #000000;font-family:Tahoma;font-weight:bold;font-size:20px;color:#FFCC00;z-index:1;text-align:center;">0%</div> <div id="progrbar" style="position:absolute;top:10;left:50;width:0px;height:31px;background-color:#006699;z-index:0;"></div> <?php echo "<script type='text/javascript'>"; echo "html_requete('requetes_ajax/requete.php?fichier=$fichier&chemin=$chemin&entreprise=$entreprise&site=$site');"; echo "</script>"; ?>
Et enfin la requete.php:
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 function html_requete(url_requete) { var nb_aleatoire= Math.round(Math.random()*10000); eval ('var object'+nb_aleatoire+'=null;') //document.getElementById('chargement').style.display=''; if(window.XMLHttpRequest){ // Firefox eval("object"+nb_aleatoire+ " = new XMLHttpRequest();"); if ("object"+nb_aleatoire+".overrideMimeType") { "object"+nb_aleatoire+".overrideMimeType('text/html; charset=ISO-8859-15')"; } }else if(window.ActiveXObject){ // Internet Explorer eval("object"+nb_aleatoire+ " = new ActiveXObject('Microsoft.XMLHTTP');"); }else { // XMLHttpRequest non supporté par le navigateur alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...'); } eval("object"+nb_aleatoire+".open('GET' , url_requete, true);"); eval("object"+nb_aleatoire+".setRequestHeader('Content-type', 'application/x-www-form-urlencoded');"); eval("object"+nb_aleatoire+".setRequestHeader('Connection', 'close');"); eval("object"+nb_aleatoire+".send(null);"); eval("object"+nb_aleatoire+".onreadystatechange=function(){if (object"+nb_aleatoire+".readyState==4){ eval(object"+nb_aleatoire+".responseText);}}"); }
Donc je crois qu'il y a une erreur au niveau de la boucle for
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 <?php // Code à inserer pour beneficier des fonctionnalités complète du portail header('Content-type: text/html; charset=ISO-8859-15'); header("Cache-Control: no-cache"); // lecture des variable GET $fichier = $_GET["fichier"]; $chemin = $_GET["chemin"]; $entreprise = $_GET["entreprise"]; $site = $_GET["site"]; for ($i = 2; $i <= 1500; $i++) { $pourc = round(($i * 100) / $nbTot); echo "document.getElementById('pourcentage').innerHTML='".$pourc."%';"; echo "document.getElementById('progrbar').style.width='".(($pourc*2)+1)."px';"; flush(); // for ($j=0;$j<=100000;$j++) {$p=1;} // dans cette exemple, j'ai une boucle de retardement } ?>
Merci d'avance
Partager