Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2011, 10h15   #1
Invité de passage
 
Homme
Développeur multimédia
Inscription : septembre 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur multimédia

Informations forums :
Inscription : septembre 2011
Messages : 1
Points : 0
Points : 0
bonjour tous je suis nouveau sur le forum alors enchanté à tous!
je débute aussi
j'éspère que vous pourriez m'éclaircir sur ce sujet qui me revient assez souvent
j'ai un bout de code qui m'affiche xhr is null et je ne comprends pas vraiment pourquoi enfaite, je ne sais pas non plus pourquoi faut déclarer xhr=null au début et ce que ça veut dire .. Mais si quelqu'un pourrait me déboguer se code ça m'enlèvera un bug dans le cerveau..

Merci

yau

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
51
52
53
54
55
56
57
58
59
<script type="text/javascript">
//<![CDATA[
function changemessage() {
var xmldocument = xhr.responseXML;
nodemessage = xmldocument.getElementsByTagName("message");
nodebourse = xmldocument.getElementsByTagName("bourse");
nodecours = xmldocument.getElementsByTagName("cours");
nodevariation = xmldocument.getElementsByTagName("variation");
var textebourse = nodebourse[i].firstChild.nodeValue;
var textecours = nodecours[i].firstChild.nodeValue;
var textevariation = nodevariation[i].firstChild.nodeValue;
document.getElementById("id_bourse").innerHTML = textebourse;
document.getElementById("id_cours").innerHTML = textecours;
document.getElementById("id_variation").innerHTML = textevariation;
i++;
if(i >= nodemessage.length){
i = 0;
}
}
window.onload=initall();
var texte= new Array();
var xmldocument;
var i = 0;
 
var xhr = null;
function initall(){
if(window.XMLHttpRequest){
var xhr= new XMLHttpRequest();
}
else if (window.ActiveXobject){
xhr= new ActiveXobject("Microsoft.XMLHTTP");
}
else{
alert("Votre navigateur prend pas ajax");
}
 
if (xhr){
xhr.onreadystatechange= function(){
if (xhr.readyState == 4 && xhr.status == 200) {
interval = setInterval("changemessage()",2000)
}
}
xhr.open("GET","messages.xml",true);
xhr.send(null);
}
}
//]]>
 
</script>
</head>
<body>
<div id="bloc">
<span id="id_bourse"></span><br>
<span id="id_cours"></span><br>
<span id="id_variation"></span>
</div>
<div style="font-size: 36px; margin-top: 8px;">Contenu</div>
</body>
</html>
messages.xml


Code xml :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="ISO-8859-1" ?> 
<racine>
<message>
<bourse>CAC 40</bourse>
<cours>3773.10</cours>
<variation>+0.42 %</variation>
</message>
<message>
<bourse>DOWN JONES</bourse>
<cours>10337.05</cours>
<variation>+0.50 %</variation>
</message>
<message>
<bourse>Nasdaq</bourse>
<cours>2183.73</cours>
<variation>+0.49 %</variation>
</message>
<message>
<bourse>NIKKEI</bourse>
<cours>9862.82</cours>
<variation>-1.42 %</variation>
</message>
</racine>
Yauuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 19h16   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 779
Points : 4 779
Bonjour,
tu déclares 2 variables xhr, une globale et l'autre locale dans la fonction initall(), et c'est cette dernière qui est utilié dans la fonction, la globale restant donc à null.

Supprimes le var sur cette ligne xhr = new XMLHttpRequest();
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h56.


 
 
 
 
Partenaires

Hébergement Web