Rafraichir plusieurs div en même temps

Deezerd
Invité n'ayant pas de compte PHPfrance

20 sept. 2007, 14:05

Bonjour

je souhaite rafraichir le contenu de deux div avec deux flux xml
Pour cela, j'appelle une fonction javascript dans chaque div pour les rafraichir

Code : Tout sélectionner

<div id="1"><script type="text/javascript"> loadrssfeed(1,'feed.xml'); </script></div> <div id="2"><script type="text/javascript"> loadrssfeed(2,'feed.xml'); </script></div>
Si je laisse seulement la premiere div dans le code, le résultat apparait, mais dès que je rajoute la deuxieme div, aucun résultat ne s'affiche.

voici le detail de loadrssfeed et de la fonction qui gère la réponse du serveur. J'ai l'impression que cette fonction ne me permet pas de gérer plusieurs appels simultanés mais je ne vois pas quoi changer. Merci d'avance pour votre aide

Code : Tout sélectionner

<script type="text/javascript"> function loadrssfeed(div_id, feed){ document.getElementById(div_id).innerHTML= 'chargement en cours...'; http.open('get','form-rss.php?id='+div_id+'&rss='+feed); http.onreadystatechange = handleResponse(div_id); http.send(null); } function handleResponse(div_id) { if(http.readyState == 4){ var response = http.responseText; var update = new Array(); if(response.indexOf('|' != -1)) { update = response.split('|'); document.getElementById(div_id).innerHTML = update[1]; } } } </script>
merci

Eléphanteau du PHP | 48 Messages

20 sept. 2007, 14:42

pour ma part, je pense que cela vient de tes deux appels a ton httprequest (j'ai eu un cas similaire).

si ce que je pense est juste, il te faut utiliser la méthode de prototypes.js c'est a dire faire une fonction avec un tableau qui contient tes appels et appeler ta function qui fait les httprequest .

ton httprequest vient chercher les info de ton premier enregistrement une fois onreadystate == 4 et tes traitements terminés, tu éffaces le premier enrgistrement et regardes si il y en a un autre si oui tu rappel ta function qui refais un httprequest etc... ce qui te permet de faire autant d'appel que tu veux.

a voir si j'ai bien vu
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !
A.Einstein