IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] xhr is null


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    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
    Par défaut [AJAX] xhr is null
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    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();

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/07/2007, 13h27
  2. [AJAX] XHR a usage unique?
    Par Gruik dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/10/2006, 10h42
  3. [AJAX] [XHR] encodage et accents
    Par mig87 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/10/2006, 15h17
  4. [AJAX] xhr.responseText et comparaison
    Par Nexussmb dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/10/2006, 17h32
  5. [ajax] xhr.responseXML == null ?!
    Par XecTech dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/08/2006, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo