XMLHttpRequest -> pb de refraichissement - PHP - Programmation
Marsh Posté le 14-03-2005 à 14:13:56
Citation : - depuis la page graphique j'appelle a fréquence régulière (via settimeout) une fonction évaluant chaque ligne de code de la page refresh.php récupérées par la fonction XMLHTTPRequest. |
ça ne serait pas au niveau de cette fonction que tu ne met pas bien à jour tes données ?
Ma boule de cristale étant en panne (hé oui, encore) il serait sympa de ta part de nous monter un peu de code (notament la fonction en question)
Marsh Posté le 14-03-2005 à 14:19:31
je pencherais pour un problème de cache, mais comme dit Xav_ le diagnostique serait plus facile avec un bout de code.
Marsh Posté le 14-03-2005 à 17:20:55
Jaddes, laisse moi deviner, tu as teste avec Internet Explorer, non ?
D'apres mon experience, le probleme que tu cites provient du fait qu'IE mets en cache le resultat obtenu via XMLHttpRequest.
J'avais eu ce probleme et je me rappelle plus comment je l'avais solutionne.
Il faut essayer de dire a IE de ne pas metre les donnees en cache (avec les fonction header qui vont bien).
Si tu essayes avec FF ton code devrait normalement fonctionner.
Marsh Posté le 14-03-2005 à 19:51:35
c'est un truc du genre (pas testé)
Code :
|
Marsh Posté le 14-03-2005 à 20:41:17
Le probleme est qu'IE mets en cache le resultat obtenu via XMLHttpRequest.
Or cet objet ne renvoi pas d'html a proprement parler, mais du texte. Donc pas de balise meta...
Faudrait neanmoins voir, si IE fait attention aux headers http recus via XMLHttpRequest, si c'est le cas, alors on pourrait envoyer les headers http grace a la commande "header" de php.
Sinon il faut "ruser" pour eviter le cache d'ie.
Marsh Posté le 17-03-2005 à 22:11:34
A priori, IE fait attention aux headers reçus via XMLHttpRequest, je m'en suis déjà servi pour imposer un charset.
+1 pour la solution de Cerel donc
Marsh Posté le 14-03-2005 à 14:03:21
Bonjour,
Je suis en train de développer des pages WEB à l'aide de php (pour la gestion d'une base mySQL) et de javascript (pour le rafraichissement des données).
J'ai récement découvert la fonction XMLHTTPRequest qui permet de récupérer, sous forme d'une chaine de caractère, le contenu d'une page WEB.
Pour le rafraichissement de mes pages WEB j'utilise donc l'astuce suivante :
- j'ai une page graphique (contenant un certain nombre de <div> )
- j'ai une page refresh.php (contenant la connexion à la base de données, et les différents textes à afficher dans les <div> en fonction d'une requete SQL)
- depuis la page graphique j'appelle a fréquence régulière (via settimeout) une fonction évaluant chaque ligne de code de la page refresh.php récupérées par la fonction XMLHTTPRequest.
Le problème :
- à l'ouverture de la page, les données affichées sont celles présentes dans la base de données.
- le rafraichissement se fait à fréquence régulière (ajout d'un alert pour vérifier que la fonction s'éxécute bien)
- mais la page refresh.php garde en mémoire les valeurs récupérées lors de la première connexion à la base de données = ouverture de la page graphique (le rafraichissement des données ne se fait pas).
Je n'arrive pas à savoir d'ou vient le problème.
Quelqu'un aurait il une petite idée.
Merci d'avance
PS : - j'utilise EasyPHP1.7 ou EasyPHP 1.8
- je me connecte à la base à l'aide la fonction mysql_connect
- je ferme la connexion avec la fonction mysql_close