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 non reconnu par la fonction!


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut [AJAX] XML non reconnu par la fonction!
    Bonjour!

    Je suis bien embeté. J'ai fait un zoli programme mais il ne marche pas.
    J'ai réussi à isoler l'erreur dans un autre petit programme simple. Pourriez vous m'aider à analyser? Je suis vraiment sans idée, malgré la lecture détaillée des tutos!

    L'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Erreur*: données incompréhensibles après l'élément de document
    Fichier Source*: http://localhost/WWW/versionErgonomique/bataille.xml
    Ligne*: 6, Colonne*: 1
    Code Source*:
    <vague>
    bataille.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
    <vague>
    <unite>paysan</unite>
    <puissanceUnite>142</puissanceUnite>
    </vague>
    <vague>
    <unite>arbaletrier</unite>
    <puissanceUnite>564</puissanceUnite>
    </vague>
    lecture.php
    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
      <script type="text/javascript"  language="javascript" src="ajaxLecture.js">
      </script>
    </head>
    <body>
      <a id="link_precedent" href="#" onclick="afficherJoueur('bataille.xml', 0)">Perso precedent</a>
      <a id="link_suivant" href="#" onclick="afficherJoueur('bataille.xml', 1)">Perso suivant</a>
      <hr /><br />
      Nom = <p id="nom"></p>
      <br /><hr /><br />
      Note = <p id="note"></p>
     
    <br /><hr /><br />
    </body>
    </html>
    ajaxLecture.js
    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
     
    var page=1;
        function afficherJoueur(url, i){
                  var httpRequest = false;
    	      document.getElementById("nom").innerHTML = "Attente...";
    	      document.getElementById("note").innerHTML = "Attente...";
            if (window.XMLHttpRequest) { // Mozilla, Safari,...
                httpRequest = new XMLHttpRequest();
                if (httpRequest.overrideMimeType) {
                    httpRequest.overrideMimeType('text/xml');
                }
            } else if (window.ActiveXObject) { // IE
                try {
                    httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {}
                }
            }
            if (!httpRequest) {
                alert('Abandon :( Impossible de créer une instance XMLHTTP');
                return false;
            }
            httpRequest.onreadystatechange = function() {
    	  modifierNom(httpRequest, i);
    	   };
            httpRequest.open('GET', url, true);
            httpRequest.send(null);
        }
     
        function modifierNom(httpRequest, i) {
            if (httpRequest.readyState == 4) {
                if (httpRequest.status == 200) {
    	      if (i==1){
    		page+=1;
    	      } else {
    		page-=1;
    	      }
    	       var xmldoc = httpRequest.responseXML;
    	       var nom_node = xmldoc.getElementsByTagName('unite').item(page);
    	       document.getElementById("nom").innerHTML = nom_node.firstChild.data;
    	       var note_node = xmldoc.getElementsByTagName('puissanceUnite').item(page);
    	       document.getElementById("note").innerHTML = note_node.firstChild.data;
                } else {
                    alert('Un problÚme est survenu avec la requête.');
                }
            }
        }
    Merci beaucoup pour votre aide!

  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 : 55
    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
    Un fichier XML doit obligatoirement être compris dans une balise unique (à l'image de la balise <html> en XHTML) appelée root et qui n'existe pas dans ton XML
    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
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    Ah! C'était donc ça!
    Merci bien. Néanmoins j'aurai alors une autre question :
    Mon xml de mon programme ressemble à ceci :

    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
     
    <batailleFinie>1</batailleFinie>
    <listeVague>
       <vague>
          <unite>paysan</unite>
          (...)
       </vague>
       (...)
    </listeVague>
    <listRound>
       <round>
          <vainqueur>Joueur1</vainqueur>
       </round>
       <round>
          <vainqueur>Joueur2</vainqueur>
       </round>
       (...)
    </listeRound>
    Comment pourrais-je modifier pour le faire entrer dans un format utilisable?

  4. #4
    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 : 55
    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
    Si on reprend l'exemple de ton 1er post (qui est plus parlant en fait), tu fais un truc comme ça :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
    <combatsRoot>
    <vague>
    <unite>paysan</unite>
    <puissanceUnite>142</puissanceUnite>
    </vague>
    <vague>
    <unite>arbaletrier</unite>
    <puissanceUnite>564</puissanceUnite>
    </vague>
    </combatsRoot>
    Evidemment, tu peux remplacer combatsRoot par (presque !) n'importe quoi.
    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

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Par défaut
    Merci beaucoup, je ne pensais pas que ce serait si simple!
    Merci bien

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

Discussions similaires

  1. Tableau word non reconnu par la fonction Tables
    Par lau-vaya dans le forum VBA Word
    Réponses: 1
    Dernier message: 08/05/2017, 09h54
  2. Fonction fputcsv non reconnue par l'éditeur
    Par hhafid dans le forum Dreamweaver
    Réponses: 5
    Dernier message: 02/09/2016, 14h44
  3. fonction Date () non reconnue par certains ordinateurs
    Par gravier3000 dans le forum IHM
    Réponses: 1
    Dernier message: 23/09/2010, 14h56
  4. Fonction membre non-reconnue par le compilateur.
    Par markfish55 dans le forum C++
    Réponses: 2
    Dernier message: 06/06/2008, 04h36

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