Ajax / mise a jour de plusieurs 'div'

Signaler
-
Messages postés
28874
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2020
-
Bonjour,
J'utilise Ajax pour mettre a jour une partie de la page sur différents postes, dans le cadre d'un jeu en ligne.
Je suis parti de ce modèle, trouvé en ligne, qui fonctionne quand on modifie uniquement les données d'un div.

Mais j'ai besoin de mettre a jour plusieurs div.
Comment faire?

<html><head> 
  <script src="jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
  <script type="text/javascript" src="jquery-jclock.js"></script>
  <script type="text/javascript" charset="utf-8"> 

function waitForMsg(){
$.ajax({
		type: "GET",
		url: "show.php",
		async: true,
		cache: false,		
		success: function(data){		
$("partie") . empty();
$("partie") . append ( data );
	
		setTimeout("waitForMsg()",1000);
		},
		error: function(XMLHttpRequest,textStatus,errorThrown) {
	//	 alert("error: "+textStatus + "  "+ errorThrown  );
		setTimeout("waitForMsg()",15000);
		}
	  });
	}
	
</script>
</head>
<body>

<div id="partie"></div>

<?php

if (! session_id () )
  {
  session_start();
  }

// mon programme PHP

 ?>

<script type="text/javascript" charset="utf-8">
	$(document).ready(
	 function() 
	 {	
	  waitForMsg(); 	 
	 });	
</script>

</body></html>

1 réponse

Messages postés
28874
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2020
2 590
Bonjour,

Ton ajax retourne quoi comme infos ? Toutes les infos necessaires pour mettre à jour tes différentes div ?
Si oui, la "mise à jour" des div se fait comme n'importe quel code javascript... dans le "success" de l'appel ajax
function waitForMsg(){
  $.ajax({
      type: "GET",
      url: "show.php",
      async: true,
      cache: false,		
      success: function(data){		
        
        console.log("resultat ajax",data);
        //là tu mets à jour tes div
        
    
        setTimeout("waitForMsg()",1000);
      },
      error: function(XMLHttpRequest,textStatus,errorThrown) {
        console.log("error: ",textStatus ,errorThrown  );
        setTimeout("waitForMsg()",15000);
      }
	});
}

par contre, ce code est faux :
$("partie") . empty();
$("partie") . append ( data );

partie c'est quoi ? Un ID, une Class ?
Pour cibler un ID il faut précéder d'un dièse
$("#partie")

Si c'est une class, faut précéder d'un point
$(".partie")


En plus, ces deux lignes de codes peuvent être remplacées par une seule
$("#partie").html(data);

Oui.
Je viens de le voir.

partie est une div
<div id="partie"></div>
Ma question reste valable.
Messages postés
28874
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2020
2 590 > Olgarythme
Ma question reste valable.

Les miennes également.....