Pb de refresh sur ajax
Résolu/Fermé
panthere31
Messages postés
9
Date d'inscription
jeudi 13 mai 2010
Statut
Membre
Dernière intervention
13 mai 2010
-
13 mai 2010 à 12:33
panthere31 Messages postés 9 Date d'inscription jeudi 13 mai 2010 Statut Membre Dernière intervention 13 mai 2010 - 13 mai 2010 à 16:48
panthere31 Messages postés 9 Date d'inscription jeudi 13 mai 2010 Statut Membre Dernière intervention 13 mai 2010 - 13 mai 2010 à 16:48
A voir également:
- Pb de refresh sur ajax
- Telecharger auto refresh - Télécharger - Divers Web & Internet
- Comment refresh son pc - Guide
- Refresh dns - Guide
- Comment refresh son ecran - Guide
- Chrome refresh 2023 - Astuces et Solutions
4 réponses
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
13 mai 2010 à 14:05
13 mai 2010 à 14:05
Fais une fonction qui se charger de changer de flux et une autre qui se charge de le rafraichir. Il faut stocker le numéro du flux dans une variable accessible par les deux fonctions, donc une variable externe à ces deux fonctions.
Voici la structure :
Voici la structure :
var numeroFlux = 1; // Par défaut, ça sera le premier function changerFlux(numero) { numeroFlux = numero; rafraichir(); } function rafraichir() { // ... }
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
13 mai 2010 à 15:27
13 mai 2010 à 15:27
Quelle est ta fonction rafraichir() ?
panthere31
Messages postés
9
Date d'inscription
jeudi 13 mai 2010
Statut
Membre
Dernière intervention
13 mai 2010
13 mai 2010 à 15:32
13 mai 2010 à 15:32
il ne doit avoir que 2 fonctions non ?
une pour afficher/rafraichir le fil d'actu
une autre pour le changer => afficher/rafraichir.... me trompe je ?
une pour afficher/rafraichir le fil d'actu
une autre pour le changer => afficher/rafraichir.... me trompe je ?
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
13 mai 2010 à 15:36
13 mai 2010 à 15:36
Il y a deux fonctions :
La fonction changerFlux(numero) : elle se charge de modifier la variable numeroFlux accessible par les deux fonctions, et elle lance le rafraichissement pour le nouveau flux (ce n'est pas cette fonction qui fait la requête AJAX, c'est la deuxième (on appelle donc la deuxième dans la première))
La fonction rafraichir() : elle rafraichis le bon flux grâce à la variable numeroFlux.
La fonction changerFlux(numero) : elle se charge de modifier la variable numeroFlux accessible par les deux fonctions, et elle lance le rafraichissement pour le nouveau flux (ce n'est pas cette fonction qui fait la requête AJAX, c'est la deuxième (on appelle donc la deuxième dans la première))
La fonction rafraichir() : elle rafraichis le bon flux grâce à la variable numeroFlux.
panthere31
Messages postés
9
Date d'inscription
jeudi 13 mai 2010
Statut
Membre
Dernière intervention
13 mai 2010
13 mai 2010 à 15:39
13 mai 2010 à 15:39
Voici ce que j'ai là :
je dois avoir faux dans mon raisonnement....
<script language="javascript" type="text/javascript"> function changerFlux(numero) { numeroFlux = numero; actu(numeroFlux); } function actu(quoi) { var quoi = (quoi == null) ? "club" : quoi; if (window.XMLHttpRequest) xhr = new XMLHttpRequest(); else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP'); else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...'); xhr.open('GET','filactu.php?rss=' + quoi,true); xhr.onreadystatechange = function (){ if (xhr.readyState == 4) { document.getElementById("lesnews",true).innerHTML=xhr.responseText; // ici sa s'incrute dans la div <div id="lesnews"></div> mais peut etre <td id="page"> ... Ici c'est L'id l'important var timer=setTimeout("actu('" + quoi + "')",10000); // rafraichie toute les 25secs } } xhr.send(null); } </script>
je dois avoir faux dans mon raisonnement....
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
13 mai 2010 à 15:46
13 mai 2010 à 15:46
Tu as oublié de déclaré la variable en dehors des deux fonctions.
Pour le setTimeout, je le mettrais plutôt à l'extérieur de la fonction.
Pour le setTimeout, je le mettrais plutôt à l'extérieur de la fonction.
var numeroFlux = 1; var timer; function changerFlux(numero) { numeroFlux = numero; actu(); } function actu() { var quoi = (numeroFlux == null) ? "club" : numeroFlux; if (window.XMLHttpRequest) xhr = new XMLHttpRequest(); else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP'); else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...'); xhr.open('GET','filactu.php?rss=' + quoi,true); xhr.onreadystatechange = function () { if (xhr.readyState == 4) { document.getElementById("lesnews",true).innerHTML = xhr.responseText; } } xhr.send(null); } window.onload = function() { timer = setTimeout("actu();",10000); };
panthere31
Messages postés
9
Date d'inscription
jeudi 13 mai 2010
Statut
Membre
Dernière intervention
13 mai 2010
13 mai 2010 à 15:58
13 mai 2010 à 15:58
grand merci
ca progresse
dernier hic maintenant
une fois que je change le flux, X secondes apres il fait bien le rafraichissement mais ensuite non...
j'ai besoin qu'il tourne en boucle
ca progresse
dernier hic maintenant
une fois que je change le flux, X secondes apres il fait bien le rafraichissement mais ensuite non...
j'ai besoin qu'il tourne en boucle
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 505
13 mai 2010 à 16:00
13 mai 2010 à 16:00
Remplace setTimeout par setInterval.
panthere31
Messages postés
9
Date d'inscription
jeudi 13 mai 2010
Statut
Membre
Dernière intervention
13 mai 2010
13 mai 2010 à 16:06
13 mai 2010 à 16:06
génial ca a l'air de fonctionner maintenant !! un immense merci à toi !!!
panthere31
Messages postés
9
Date d'inscription
jeudi 13 mai 2010
Statut
Membre
Dernière intervention
13 mai 2010
13 mai 2010 à 16:48
13 mai 2010 à 16:48
voici donc le code final :
la div mise à jour est nommée lesnews
Encore merci pour cette aide !!
<script language="javascript" type="text/javascript"> var numeroFlux = 1; var timer; function changerFlux(numero) { numeroFlux = numero; actu(); } function actu() { var quoi = (numeroFlux == null) ? "1" : numeroFlux; if (window.XMLHttpRequest) xhr = new XMLHttpRequest(); else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP'); else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...'); xhr.open('GET','filactu.php?rss=' + quoi,true); xhr.onreadystatechange = function () { if (xhr.readyState == 4) { document.getElementById("lesnews",true).innerHTML = xhr.responseText; } } xhr.send(null); } window.onload = function() { timer = setInterval("actu();",900000); }; </script>
la div mise à jour est nommée lesnews
Encore merci pour cette aide !!
13 mai 2010 à 14:29
j'aimerai supprimer ce pb