[AJAX] Utilisation d'Ajax.periodicalUpdater et Php
Bonjour,
J'ai réalisé un petit projet d'importation de fichiers divers et variés; cette importation est périodique (1 fois par mois).
Le temps d'exécution est assez variable : de 2 à 10 minutes.
Pour faire patienter l'utilisateur, j'ai donc essayé (sans succès) de mettre en place une barre de progression en utilisant l'objet PeriodicalUpdater.
Je procède de cette manière : j'ai le volume total à importer; dans une boucle php, j'incrémente (ou non) le pourcentage d'avancement .
J'utilise une variable de session pour mémoriser cette valeur; je voudrais que la procédure javascript qui travaille sur l'objet PeriodicalUpdater récupère la valeur du pourcentage et modifie une <div> en y mettant la nouvelle valeur.
Or ça ne fonctionne pas; l'appel de la procédure ne se fait qu'à la fin de mon traitement Php.
Y-a-t'il une possibilité pour un fonctionnement parallèle de la procédure javascript/Ajax et ma boucle Php ?
Voici un extrait de code :
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 26 27 28 29 30 31 32 33 34 35
| <script src="prototype.js" type="text/javascript"></script>
<script type="text/javascript">
function executer_progression()
{
new Ajax.PeriodicalUpdater(
'indicex',
'request.php', {
method:'post',
frequency: 2
});
}
</script>
.... traitement Php
maj (pourcentage)
{
if ($fait != $ref)
{
$_SESSION['progression'] = $fait;
//progressBar($fait, $transporteur);
//$ref = $fait;
}
}
<body>
<form>
<p id="indicex">... valeur de $_SESSION['progression'] ..</p>
</form>
</body>
.... fichier request.php
<?php
$_POST['indicex'] = $_SESSION['progression'];
print($_POST['indicex']);
?> |
Merci de m'aider et de votre patience.