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

JavaScript Discussion :

[AJAX] xml Ajax


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Par défaut [AJAX] xml Ajax
    Bonjour, je suis un débutant dans le domaine et j'essaye pour la première fois de faire du ajax et il y un problème dans mon code que je ne comprend pas

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Test XML</title>
    </head>
    <body>
    
    <script type="text/javascript">
        var response;
        function getXmlHttpRequest() {
            if (window.XMLHttpRequest) {
                return new XMLHttpRequest();
            }
            else if (window.ActiveXObject) {
                try {
                    return new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        return new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (E) {
                        return null;
                    }
                } 
            }
            else {
                return null;
            }
        }
    
        var xhr = getXmlHttpRequest();
        xhr.onreadystatechange = handleHttpResponse;
    
        
     
        var url="personne.xml";
        
        xhr.open("GET", url, true);
        
      
        
        function handleHttpResponse() {
        if(xhr.readyState == 4 && xhr.status == 200) {
            response     = cleanXML(xhr.responseXML.documentElement);
            // ...
           
        }
        return response;
    }
        
        var personnes = response.getElementsByTagName("personne");
        var html = "";
        
        var nbPersonne = personnes.lenth;
       
        for(i = 0; i < nbPersonne; i++) { /* POUR CHAQUE personne */
            html += '<div class="personne">';
            html += '<h1>' + persones[i].getElementsByTagName("nom")[0].firstChild.nodeValue + '</h1>';
            html += '<div class="sexe">Sexe : ';
            html += persones[i].getElementsByTagName("sexe")[0].firstChild.nodeValue + '</div>';
            html += '<div class="age">Age : ';
            html += persones[i].getElementsByTagName("age")[0].firstChild.nodeValue + '</div>';
            html += '</div>';
            
        }
        
        document.getElementById('content').innerHTML += html;
        document.write("7");
    
    </script>
    
    </body>
    </html>
    lorsque j'exécute le problème se situe au response afficher en rouge dans le code. IE me dit que response est null ou n'est pas un objet c'est comme si l'instruction: xhr.onreadystatechange = handleHttpResponse;(en bleu) ne s'exécute

    Est-ce que quelqu'un peux m'aider

    Merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben oui, ton script s'execute au chargement de la page (ce ne sont pas des fonctions appelées) donc, quand il arrive à l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.onreadystatechange = handleHttpResponse;
    la fonction handleHttpResponse n'existe pas encore car tu ne la déclare qu'après. Donc js te renvoie une erreur...

    EDIT :
    Essaye
    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
    60
    61
    62
    <script type="text/javascript">
        var response;
        function getXmlHttpRequest() {
            if (window.XMLHttpRequest) {
                return new XMLHttpRequest();
            }
            else if (window.ActiveXObject) {
                try {
                    return new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        return new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (E) {
                        return null;
                    }
                } 
            }
            else {
                return null;
            }
        }
        function handleHttpResponse() {
        if(xhr.readyState == 4 && xhr.status == 200) {
            response     = cleanXML(xhr.responseXML.documentElement);
            // ...
     
        }
        return response;
    }
     
        var xhr = getXmlHttpRequest();
        xhr.onreadystatechange = handleHttpResponse;
     
     
     
        var url="personne.xml";
     
        xhr.open("GET", url, true);
     
     
     
     
        var personnes = response.getElementsByTagName("personne");
        var html = "";
     
        var nbPersonne = personnes.lenth;
     
        for(i = 0; i < nbPersonne; i++) { /* POUR CHAQUE personne */
            html += '<div class="personne">';
            html += '<h1>' + persones[i].getElementsByTagName("nom")[0].firstChild.nodeValue + '</h1>';
            html += '<div class="sexe">Sexe : ';
            html += persones[i].getElementsByTagName("sexe")[0].firstChild.nodeValue + '</div>';
            html += '<div class="age">Age : ';
            html += persones[i].getElementsByTagName("age")[0].firstChild.nodeValue + '</div>';
            html += '</div>';
     
        }
     
        document.getElementById('content').innerHTML += html;
        // document.write("7");   Cette ligne ne sert à rien...
     
    </script>
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Par défaut
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] XML généré ok, responseXML.documentElement vide !
    Par LeCaméléon dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/12/2006, 09h53
  2. [XSLT][XML][AJAX] Quelques problème avec le XML
    Par slasch dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/10/2006, 11h29
  3. [AJAX/XML/JAVA] Afficher un flux de données depuis un site web
    Par chodaboy34 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/10/2006, 16h38
  4. [AJAX] JavaScript, Ajax et XML
    Par tclariss dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/10/2006, 22h53
  5. xhr(ajax?) xml et encodage
    Par tthierry dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/12/2005, 16h14

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