CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[AJAX] rafraichissement de données toute

axeee
axeee
Niveau 9
16 juillet 2007 à 13:31:57

Bonjours, je débute dans ajax, et j´aimerai faire un chat sur (ma) mesure, je sais qu´il existe déjà pleins de scripts sur le web mais ils sont toujours trop compliqués pour moi ou ne ressemblent pas à ce que je souhaite.

J´ai déjà débuté le script, je me connecte au serveur via la page xml traitement.php (instance.open(´GET´, ´traitement.php´, true)), je récupere les données dans ma page au format xml, mais j´aimerai que cela se rafraichisse, afin de récuperer les données toutes les x secondes, j´ai donc fait un setInterval() mais je ne sait pas comment faire pour que ça s´applique à instance.onreadystatechange

Voila le code complet :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title></title>
<script type="text/javascript">
var xhr; // on déclare l´instance xhr
//var timer1 = setTimeout("requeteLireFichier()", 0);
var timer1 = setInterval("requeteLireFichier()", 5000);
if (window.XMLHttpRequest) xhr = new XMLHttpRequest(); // Firefox, Opera, Konqueror, Safari, ...
else if (window.ActiveXObject) xhr = new ActiveXObject(´Microsoft.XMLHTTP´); // Internet Explorer
else alert(´JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...´); // Navigateur ancien

xhr.onreadystatechange = function()
{
if (xhr.readyState == 4)
{
var docXML= xhr.responseXML;
var items = docXML.getElementsByTagName("objet");
var dates = docXML.getElementsByTagName("date");
var donnees = docXML.getElementsByTagName("donnee");
//on fait juste une boucle sur chaque élément "donnee" trouvé
for (i=0;i<items.length;i++)
{

document.write((donnees.item(i).firstChild.data));

document.write(´ ´);
document.write((dates.item(i).firstChild.data));
document.write(´<br />´);
}
document.write(´<hr />´);
}
}

function requeteLireFichier() {
//On se connecte à traitement.php avec la méthode get
xhr.open(´GET´, ´traitement.php´, true);
xhr.send(null);
}

</script>
</head>
<body>

</body>
</html>

Merci d´avance pour vos réponses

deepblue
deepblue
Niveau 16
16 juillet 2007 à 18:07:40

voit les biens fais de setTimeout() et clearTimeout() :ok:

axeee
axeee
Niveau 9
02 août 2007 à 08:47:49

J´ai essayé dans un premier temps setTimeout() mais pour que cela se recharge régulierement, j´ai utilisé setInterval(requeteLireFichier(), 5000)

PS :
function requeteLireFichier() {
//On se connecte à traitement.php avec la méthode get
xhr.open(´GET´, ´traitement.php´, true);
xhr.send(null);
}

axeee
axeee
Niveau 9
03 août 2007 à 20:15:06

Personne ??
J´ai vu plein de monde frimer parce que soit disant ils connaissaient la nouvelle "technologie", AJAX et là quand je demande un truc simple, personne ne peut me répondre ?

deepblue
deepblue
Niveau 16
03 août 2007 à 20:43:21

Je t´ai donné une reponse

setTimeout("tafontion()", millissecondes);

axeee
axeee
Niveau 9
04 août 2007 à 13:47:12

Et je t´ai répondu que j´avais utilisé setInterval qui fonctionne de la même façon, ma fonction est bien renouvellée mais ça ne marche toujours pas, j´aimerais donc savoir ce qu´il faut faire pour que ça soit readyState qui se remette à 0 pour refaire la fonction onreadystatechange

deepblue
deepblue
Niveau 16
04 août 2007 à 14:03:06

Ben quand t´en dis plus, ça aide...

il faudrait mettre l´evenement xhr.onreadystatechange et la fonction requeteLireFichier() dans une seul et meme fonction

Volcan_Moisi
Volcan_Moisi
Niveau 5
06 août 2007 à 17:18:27

AJAX=/=httprequest

L´utilisation d´AJAX implique l´utilisation d´un langage portable, le XML...

As-tu pensé à détruire l´objet xhr ?

On dirait que non.

S´initier à la POO ne serait pas un luxe. ;)

deepblue
deepblue
Niveau 16
06 août 2007 à 18:19:25

Pas besoin de XML pour caracteriser de l´ajax.

"Malgré tout, des technologies supplémentaires peuvent être employées côté serveur, notamment pour la gestion des données au format XML", c´est un plus, et c´est indegnable mais on peut s´en passer.

deepblue
deepblue
Niveau 16
06 août 2007 à 18:21:15

Bon apres relecture, je me contrids un tout petit peu mais je je continue a penser que xml n´est pas obligatoire

darth-bane
darth-bane
Niveau 10
06 août 2007 à 20:34:18

J´ai également lu dans plusieurs docs qu´Ajax n´implique pas obligatoirement l´utilisation d´XML, c´est mieux, c´est plus portable, mais pas obligatoire. Parfois, cel peu même alourdir les traitements.

Volcan_Moisi
Volcan_Moisi
Niveau 5
06 août 2007 à 21:19:14

Alors ça ne s´appelle plus de l´Ajax...

Vous me donnez envie de revenir. :snif2:

Je suis en manque de créations... :(

darth-bane
darth-bane
Niveau 10
06 août 2007 à 21:25:05

Alors nombreux sont les livres et les docs qui utilisent cette appellation à tord (Ajax en pratique chez CampusPress par exemple)

Volcan_Moisi
Volcan_Moisi
Niveau 5
06 août 2007 à 21:36:41

Et je me sens puriste. :(

"Jusqu´à présent nous n´avons donc pas fais d´AJAX mais juste de l´utilisation de XmlHttpRequest. Ce qui n´est pas très grave mais qui fera hurler les puristes.
ne vous amusez pas à dire que vous faites de l´AJAX dans ces cas là ;) ."

Dixit developpez.com

darth-bane
darth-bane
Niveau 10
06 août 2007 à 21:59:55

Ce n´est qu´un site internet dont les tutoriaux sont fait dans la très grande majorité par des bénévoles.
Moi je te parles de bouquins écrits par des professionnels, des profs d´université, ...

Volcan_Moisi
Volcan_Moisi
Niveau 5
06 août 2007 à 23:30:08

Ce n´est pas parce que eux font une erreur que nécessairement... ^^

Et puis sfacile de bouffer un mot.

http://fr.wikipedia.org/wiki/Asynchronous_JavaScript_And_XML

Ne serait-ce que sur wikipedia ou le blog de olivier sorel ^^

darth-bane
darth-bane
Niveau 10
07 août 2007 à 01:40:17

Sincèrement, tu sais quoi ? OSEF :nah:

Sérieux, qu´est-ce que ça peut te foutre qu´on utilise le terme AJAX même si les données ne sont pas transférées sous forme XML :question: J´appelle ça couper les cheveux en quatre. Polémiquer, juste pour le plaisir d´étaler sa science.
Si c´est tout ce que tu as a apporter à ce forum, ce n´est pas la peine de venir, des comme toi, il en passe toutes les semaines.

deepblue
deepblue
Niveau 16
07 août 2007 à 07:01:15

volcan_moisi = watza ? (cf "sfacile") :p)

darth-bane
darth-bane
Niveau 10
07 août 2007 à 08:13:44

Judicieuse observation !
Watza s´était calmé puis avait disparu de la circulation, on peu effectivement se poser la question de son retour sous un autre pseudo. SI c´est le cas, l´accalmie fut de courte durée :-(

axeee
axeee
Niveau 9
10 août 2007 à 21:28:29

Salut, comme je l´ai dit, je débute et je ne suis pas fort en js et encore moins en POO, pour les "puristes", je ne comprend pas trop la différence entre le xmlhttprequest et AJAX (AJAX = combinaison de languages mais généralement, xmlhttprequest ne s´utilise pas tout seul), d´ailleurs j´ai mis du xml dans un fichier externe donc je me suis permis de dire que je faisais du AJAX.

J´ai déjà essayer de mettre xhr.onreadystatechange dans une fonction mais ça ne fonctionne pas.
Détruire l´objet xhr semble être une solution logique, par contre, quelqu´un pourait-il m´indiquer comment faire ? :lol:

Merci de vos précédantes et futures réponses :coeur:

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment