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 à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 12
    Points
    12
    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
    Points : 91 220
    Points
    91 220
    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>

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 12
    Points
    12
    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