RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 problème ajax sous ie

Forum : AJAX
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ AJAX

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM AJAX

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
krm_frg
Nouveau membre
Inscrit : 19/04/2007
Messages : 9
Message
#131580
Posté le 24/04/07 à 12:01
bonjour

j'ai un problème avec un script ajax utilisé sur la page d'accueil du site generationsfm.com
ce script lit des données dans un fichier xml puis les affiche dans un <div> :

<script language="JavaScript" type="text/javascript"> function getXhr() { var req = null; //firefox if (window.XMLHttpRequest) { req = new XMLHttpRequest(); } //ie else if (window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { req = new ActiveXObject("Microsoft.XMLHTTP"); } } //non supporté else { alert("Fonction non supportée par le navigateur"); req = false; } return (req); } function getTrack() { var req = getXhr(); req.onreadystatechange = function() { if (req.readyState == 4 && req.status == 200) { var resultat = req.responseText; document.getElementById('div_track').innerHTML=resultat; } }; req.open("GET","http://generationsfm.com/ajax_track.php?act=track",true); req.send(null); setTimeout("getTrack()", 5000); } getTrack(); </script>


le fichier appelé est le suivant :

<? switch ($_GET['act']) { case "track": $html = simplexml_load_file('http://generationsfm.com/sms/Titres.xml'); foreach($html->WhatsOn as $WhatsOn) { $titre = $WhatsOn->Titre; $artiste = $WhatsOn->Chanteur; } echo $titre." - ".$artiste; break; } ?>


seulement voilà, sous firefox tout marche très bien, mais sous ie l'affichage n'est jamais mis à jour, même en rafraichissant la page ou en vidant le cache...
le seul moyen est de fermer complètement le navigateur et de le relancer Smiley

quelqu'un saurait-il d'où ça pourrait venir ?

merci ^^

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

bigguiz
Membre MP
Avatar de bigguiz
Inscrit : 27/07/2006
Messages : 235
Message
#131593
Posté le 24/04/07 à 13:57
Salut,

Je te conseille de vérifier deux choses:

remplace:
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
par:

try {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
req = new ActiveXObject("Msxml2.XMLHTTP");
}

juste au cas ou, car personnellement justilise uniquement :
new ActiveXObject('Microsoft.XMLHTTP');

Sinon deuxiéme point, dans la fonctionget_track:
remplace: document.getElementById('div_track').innerHTML=resultat;

par:
alert(resultat);

en fait tu utilises innerHTML, c'est super pratique, sauf que innerHTML n'a pas un comportement standard, j'ai moi aussi des problèmes sous IE, Opera...

Pour faire la même chose sans innerHTML, il faut utiliser les fonctions du DOM et c'est beaucoup plus compliqué, hélas.
__________________________
Eoliennes et informatique sur freresguizmo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

krm_frg
Nouveau membre
Inscrit : 19/04/2007
Messages : 9
Message
#131596
Posté le 24/04/07 à 14:06
salut !
avant tout merci pour ta réponse ^^

bon alors j'ai testé tes deux propositions mais le changement dans l'acquisition du xhr n'a rien solutionné, et le alert(resultat) retourne le bon truc sous ff, mais sous ie il affiche toujours la même chose, même quand le fichier xml a changé :(

c'est très bizarre...

une autre idée ? :p

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

bigguiz
Membre MP
Avatar de bigguiz
Inscrit : 27/07/2006
Messages : 235
Message
#131599
Posté le 24/04/07 à 14:24
Sous IE, bien que le résultat ne change jamais, il retourne bien quelque chose de cohérent? Une ancienne version du fichier XML?


"il affiche toujours la même chose" => Tout de suite je pense à un problème de cache.

Mais comment vider le cache? Je sais pas trop. Essaye de rafraichir ta page en faisant F5.

Sinon essaye de supprimer les pages web temporairement stockées je ne sais plus où.
__________________________
Eoliennes et informatique sur freresguizmo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

krm_frg
Nouveau membre
Inscrit : 19/04/2007
Messages : 9
Message
#131601
Posté le 24/04/07 à 14:30
effectivement en supprimant les fichiers temporaires, l'affichage est mis à jour, ce qui constitue déjà un grand pas en avant sachant qu'avant les dernières modif même en faisant ça l'affichage restait le même Smiley

mais le but du script est justement de mettre à jour le contenu sans recharger la page, et encore moins en vidant les dossiers temporaires Smiley

ou sinon il faudrait une fonction php ou ajax qui vide les dossiers temporaires automatiquement ou au moins qui empêche le navigateur de s'en servir...
mais je ne sais pas du tout si c'est possible...

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

bigguiz
Membre MP
Avatar de bigguiz
Inscrit : 27/07/2006
Messages : 235
Message
#131603
Posté le 24/04/07 à 14:40
Le mécanisme du cache est sensé être transparent. Normalement tu ne devrais pas avoir à t'en soucier. Mais j'avoue que là je ne sais pas trop quoi te dire...

Peut être qu'un connaisseur du cache pourra venir à notre secours? Smiley

Pour l'instant tu testes tout sur ta machine? Que se passe-t-il si tu mets ton fichier en ligne?
__________________________
Eoliennes et informatique sur freresguizmo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

krm_frg
Nouveau membre
Inscrit : 19/04/2007
Messages : 9
Message
#131608
Posté le 24/04/07 à 14:49
non non je test tout directement sur le serveur generationsfm.com

mais c'est vraiment bizarre : parfois vider le cache suffit à mettre à jour l'affichage, parfois il faut vider le cache ET recharger la page, et parfois seule la fermeture réouverture du navigateur met à jour l'affichage...

je n'y comprends pas grand chose...

[EDIT] : bon ça semble s'être stabilisé, pour mettre à jour l'affichage sous ie il faut vider le cache ET recharger la page avec F5... mais pourquoi le script qui doit modifier l'affichage de lui même ne fonctionne pas ??? je me répète mais sous ff tout marche très bien !!

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

bigguiz
Membre MP
Avatar de bigguiz
Inscrit : 27/07/2006
Messages : 235
Message
#131615
Posté le 24/04/07 à 15:31
Je crois que j'ai trouvé une solution.

selon http://fr3.php.net/header:

"Les scripts PHP génèrent souvent du HTML dynamiquement, qui ne doit pas être mis en cache, ni par le client, ni par les proxy intermédiaires. On peut forcer la désactivation du cache de nombreux clients et proxy avec :"

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date du passé

Par contre ça t'oblige a passer par du php, mais je pense que ce n'est pas trés grave.

Aprés il faut voir si on peut configurer le serveur web pour qu'il envoie des entetes http particuliéres pour un fichier.

Est-ce que tu utilises la barre d'outils pour developpeur dans FF? Parce qu'il y a une option "desactiver le cache".

Et puis ca prouve la supériorité de ff sur ie Smiley
__________________________
Eoliennes et informatique sur freresguizmo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

krm_frg
Nouveau membre
Inscrit : 19/04/2007
Messages : 9
Message
#131617
Posté le 24/04/07 à 15:42
ok je vais test ça
effectivement la lecture du fichier xml se fait via un fichier php donc ça devrait être facile à mettre en place

on va voir si ça passe ^^
à propos de la supériorité de ff personnellement je n'avais pas besoin de preuve mais vu que c'est un site grand public les fonctionnalité doivent être 100% compatible ie :/

merci pour ton aide en tout cas !!

[EDIT] : heu mais il faut ajouter les deux lignes ???

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

bigguiz
Membre MP
Avatar de bigguiz
Inscrit : 27/07/2006
Messages : 235
Message
#131619
Posté le 24/04/07 à 15:49
Bah apparement oui.

En fait test dans les deux cas et dis moi si la seconde est nécessaire Smiley

Aprés il va surement te falloir remplacer innerHTML et ça sera pas de la tarte Smiley
En fait je suis quasiment sur le même problème que toi.
__________________________
Eoliennes et informatique sur freresguizmo

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM AJAX



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.