Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1649 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  XMLHttpRequest -> pb de refraichissement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

XMLHttpRequest -> pb de refraichissement

n°1012034
jaddes
Posté le 14-03-2005 à 14:03:21  profilanswer
 

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

mood
Publicité
Posté le 14-03-2005 à 14:03:21  profilanswer
 

n°1012045
Xav_
The only one...
Posté le 14-03-2005 à 14:13:56  profilanswer
 

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)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1012057
soju
One shot !
Posté le 14-03-2005 à 14:19:31  profilanswer
 

je pencherais pour un problème de cache, mais comme dit Xav_ le diagnostique serait plus facile avec un bout de code.

n°1012339
cerel
Posté le 14-03-2005 à 17:20:55  profilanswer
 

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.


Message édité par cerel le 14-03-2005 à 17:22:32
n°1012499
Xav_
The only one...
Posté le 14-03-2005 à 19:51:35  profilanswer
 

c'est un truc du genre (pas testé)

Code :
  1. <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1012537
cerel
Posté le 14-03-2005 à 20:41:17  profilanswer
 

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.

n°1016687
Tharkun92
Posté le 17-03-2005 à 22:11:34  profilanswer
 

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 ;)


Message édité par Tharkun92 le 17-03-2005 à 22:12:35

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  XMLHttpRequest -> pb de refraichissement

 

Sujets relatifs
Faire un "loading" d'attente avec XMLHttpRequest ?XMLHttpRequest
Swing et le refraichissement. 
Plus de sujets relatifs à : XMLHttpRequest -> pb de refraichissement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR