|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2009 Messages : 35 ![]() |
Bonjour.
J'ai un léger soucis concernant la création d'une barre de progression pour l'avancement d'une tâche. J'ai un script JS qui appelle un script PHP grâce à un $.ajax. Ce script récupère des informations et les enregistre en base de données. Avant toute insertion, je peux connaitre le nombre d'éléments à traiter. Je peux donc facilement, au cours de la boucle, connaitre l'avancement de mon traitement global. Le problème est que je ne trouve pas de moyen de récupérer ces informations pour alimenter une JQuery ProgressBar. Je cherche donc un moyen de récupérer des data au cours de l'appel $.ajax, toutes les secondes par exemple, ou à chaque modification de la valeur d'avancement. Je suis pour l'instant bloqué par l'aspect client/serveur qui m’empêche de contourner le problème avec un fichier ou de la mémoire partagée. La doc de jQuery ne semble pas donner d'info sur une fonction/méthode lisant la sortie standard régulièrement durant l’exécution du script PHP. Merci d'avance pour votre aide. |
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
Il ne me semble pas que cela soit possible avec un seul ajax...
Selon moi coté serveur tu devra modifier une donnée que tu devras recupérer au moyen d'un second ajax dans un setInterval. Pour moi ajax ne retourne qu'une réponse.
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : octobre 2009 Messages : 35 ![]() |
Merci à toi SpaceFrog, tu m'as mis sur la bonne voie.
En effet, un appel Ajax = une réponse. Donc j'ai fait comme suit : - Je lance un timer toutes les secondes qui envoie une requete Ajax, qui elle lit un fichier et me renvoie son contenu (le %age). - Je lance mon Ajax d'enregistrement, qui écrit, à chaque itération de ma boucle, le pourcentage d'avancement dans un fichier. - Je nomme le fichier par le timestamp du moment de l'appel du script global. (Dans mon cas d'utilisation, possibilités de chevauchement de fichier quasi nulle). - A la fin du script Ajax d'enregistrement, je débranche le timer de récupération de %age. Le résultat est très concluant, merci de ton aide !
|
|
|
00
|
|
|
#4 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
Pour le nommage tu peux y inclure un sessionid ...
Sinon pour le principe de base c'est exactement ça
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : octobre 2009 Messages : 35 ![]() |
En fait j'ai réussi a me débrouiller pour avoir un résultat très sympa. (Barre d'avancement très précise et rafraichie très souvent).
Par contre j'avoue que le processus d'échange des données dans un fichier me satisfait pas vraiment. La session ne fonctionne pas, j'ai cherché du côté de la mémoire partagée, rien de génial, et faire une table en db juste pour ça, c'est pas vraiment foufou. Si vous connaissez des moyens de stocker des data durant des appels Ajax, je suis preneur. Merci du coup de main et A+ ! |
|
|
00
|
|
|
#6 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 040 ![]() |
il me semble avoir déja vu un moyen de passer avec le seconde ajax un session id ce qui permettrait de recupérer le %age en session ...
de mémoire poru que la page appelée par ajax reconnaisse que la session est la même: tu mets un session_start() sur la appelée par ajax ensuite il faut d'abord passer l'id de la session coté client puis il faut réinjecter cet id de session avant le send() ) : Code :
setRequestHeader( 'Set-Cookie' , 'PHPSESSID=' + masession );
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com