[AJAX] barre de chargement
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 :
Code:
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>";
?> |
Voici le code Ajax.js :
Code:
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);}}");
} |
Et enfin la requete.php:
Code:
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
}
?> |
Donc je crois qu'il y a une erreur au niveau de la boucle for
Merci d'avance