bonjour
j'ai un objet xhr et avec l'attribut reponseTexte je recupere une chaine de caractere je la separe dans un tableau avec la split apres lorsque je veux afficher le tableau et avec une boucle m'affiche que le dernier element
merci d'avance
Version imprimable
bonjour
j'ai un objet xhr et avec l'attribut reponseTexte je recupere une chaine de caractere je la separe dans un tableau avec la split apres lorsque je veux afficher le tableau et avec une boucle m'affiche que le dernier element
merci d'avance
Code:
1
2
3
4 while(user.code == null) { user.help = 'none'; }
bonjour
merci mais c'est quoi user la
cordialement
Il s'agit juste d'une boutade pour t'indiquer qu'avec le peu d'explications données et le manque de code, il est impossible de répondre à la question ;)
voila mon code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 function getXhr(){ var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr } function reafficher(){ var xhr1 = getXhr() xhr1.open("GET","afficher.php",true); // On défini ce qu'on va faire quand on aura la réponse xhr1.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr1.readyState == 4 && xhr1.status == 200){ //alert(xhr1.responseText); var dom=xhr1.responseText; var reg=new RegExp("[ ,;]+", "g"); var tableau=new array(); tableau=dom.split(reg); for(var i=1;i<tableau.length;i++) { var chaine="affiche"+i // On se sert de innerHTML pour rajouter les messages a la liste document.getElementById(chaine).innerHTML =tableau[i]; //} } //document.getElementById("affiche").innerHTML = xhr1.responseText; } xhr1.send(null); setTimeout("reafficher()",1000); }
je recupere un objet de la forme: chaine_de_caractere,nbre,nbre et je le mes dans un tableau apres ds l'affichage j'ai que le dernier element du tableau qui s'affiche.
merci
T'es bien sur que tous tes éléments ont un id différent (quand tu fais getElementById) ?
En partant de 1, tu perds le premier élément du tableau, c'est voulu?Code:for(var i=1;i<tableau.length;i++)
Bonjour,
Tu faits des redeclaration de la variable chaine.Citation:
for(var i=1;i<tableau.length;i++)
{
var chaine="affiche"+i
pour commancer par 1 ou 0 ,c'est pas un probléme car je fais tab.length ou lieu de tab.length-1.
pour la redeclaration j'ai corrigé et toujours ça marche pas.
merci à vous
ah j'ai oublié bie, sur j'ai id different qui affaiche+i que j'incrémente chaque fois
merci, et toujours ca marche pas ,j'ai procédé autrement cette fois j'ai utilisé un objet xmlreponse avec dom javascripte mais j'arrive pas à afficher le resultat .
voici la requete php :
si je fais alert(xmlDoc); m'affiche nullCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 <?php header('Content-Type: text/xml'); include("connexion.php"); connectMaBase(); // lancement de la requete $sql = "SELECT * FROM SIM WHERE 1 ORDER BY `Date` ASC "; // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die) $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); echo "<?xml version=\"1.0\"?>\n"; echo "<message>\n"; while($data = mysql_fetch_array($req)) { echo "<texte>" . $data['Texte'] . "</texte>\n"; echo "<posX>" . $data['PositionX'] . "</posX>\n"; echo "<posY>" . $data['PositionY'] . "</posY>\n"; } echo "</message>"; // on libère l'espace mémoire alloué pour cette interrogation de la base mysql_free_result ($req); mysql_close (); ?> et le fichier javascript pour retourner le resultat: function getXhr(){ var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr } function reafficher(){ var xhr1 = getXhr() // On défini ce qu'on va faire quand on aura la réponse xhr1.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr1.readyState == 4 && xhr1.status == 200){ var xmlDoc = xhr1.responseXML.documentElement; alert(xmlDoc.getElementsByTagName("texte")[0].firstChild.nodeValue); } } xhr1.open("GET","afficher.php",true); xhr1.send(null); setTimeout("reafficher()",1000); }
sinon s'affiche rien du tous
merci d'avance