XmlHttpRequest (AJAX)

Signaler
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007
-
Messages postés
575
Date d'inscription
dimanche 23 décembre 2001
Statut
Membre
Dernière intervention
23 octobre 2012
-
Salut à tous,
Je cherche à actualiser une page avec le XmlHttpRequest(AJAX) toutes les 20 secondes.
Cette page s'appel EnLigne.php
Merci d'avance.

10 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



inutile d'utiliser ça pour rafraîchir une page.



Si ta page est dynamique fait ça en php :



header('Refresh: 10; url=page.php');

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Non mais je prefere le XmlHttpRequest (AJAX).
Merci d'avance.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
mais c'est débile (désolé de te dire ça)



en php ça prend une ligne et c'est compatible avec tous les
navigateurs, en javascript ça prend plusieurs lignes dans le code
source, c'est pas compatible avec les navigateurs ne traitant pas
javascript ou l'ayant désactivé

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Oué mais avec php sa fais le bruit de l'actualisation, et on voie le refresh, mais pas avec le XmlHttpRequest (AJAX).
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
bah si tu rafraîchis toute la page entière t'auras le bruit de l'actualisation

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Oui sauf qu'avec le XmlHttpRequest (AJAX) on l'as pas. :)
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
bah fais un test pour rafraîchir ta page ENTIERE et tu verras que t'en auras un :-)



tu ne peux pas rafraîchir une page entière avec ça, enfin pas à ma
connaissance, sans clignottement. Il faut passer par un div qui affiche
tout le contenu, mais tu ne pourras pas rafraîchir toute la page (avec
les métas, etc...)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
210
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
14 août 2007

Moi enfaite je veux juste savoir comment sa marche :)
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
salut,



si tu veux voir comment ca marche regarde le code source "tagboard" sur ce site .



http://www.codes-sources.com/code.aspx?ID=32108



y en a d'autres sur ce site.



@+
PS: Si votre problème est résolu, prière de bien vouloir clôturer votre message par une réponse acceptée !
Messages postés
575
Date d'inscription
dimanche 23 décembre 2001
Statut
Membre
Dernière intervention
23 octobre 2012

3 ans après ...

J'imagine que tu n'attends plus de réponse à ta question, mais pour ceux qui cherchent toujours à faire de l'ajax sous PHP vous pouvez consulter ce source :http://www.phpcs.com/codes/AJAX-TOOLKIT-PARTAGE-CLASSES-ENTRE-PHP-JS_47075.aspx

Du coup pour répondre à ta question, en utilisant cette lib tu aurais du faire un fichier timer.php (par exemple)

<?php

      require_once('lib/ajaxify.class.php');
      class myTimer extends ajaxify {
         function tick() {
            return file_get_contents('ton_fichier.html');
         }
      }
      ajaxify::request();
?>

et en javascript dans la partie head :
<?php ajaxify::AjaxClass(

'timer.php',
'myTimer'); ?>

<script language="javascript">
window.setInterval('Actualiser()', 2000);
function Actualiser() {
   myTimer.tick(function(page) {
      document.body.innerHTML = page;
   });
}
</script>

Si ton fichier c'est un script PHP, tu captures le flux de sortie en utilisant ob_start et ob_get_contents.

Pas compliqué non ?

aKheNAtHoN