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] responseXML ou loadXML?


Sujet :

AJAX

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut [AJAX] responseXML ou loadXML?
    Bonjour,

    J'ai un problème avec une fonction ajax. Elle doit afficher une valeur dans un <input type="text"> obtenue par une page asp qui renvoie une réponse formatée avec des balises xml.
    En simplifiant un peu, j'ai:

    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
    <script type="text/javascript">
     
    function remplir_taux(id) {
        var id,xmlhttp,xmlDoc;
     
        if (id == "") {
            return;
        }
     
        // Création d'un objet XMLHttpRequest :
        if (window.XMLHttpRequest){ // code pour IE7+, Firefox, Chrome, Opera, Safari :
            xmlhttp=new XMLHttpRequest();
        }
        else{   // code pour IE6, IE5 :
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
     
        // Fonction à executer quand la réponse du serveur est prête :
        xmlhttp.onreadystatechange=function(){
            if (xmlhttp.readyState==4 && xmlhttp.status==200){
                xmlDoc=xmlhttp.responseXML;
                document.getElementById("taux").value=xmlDoc.getElementsByTagName("taux")[0].childNodes[0].nodeValue;
            }
        }
     
        // Envoie la requête au serveur :
        xmlhttp.open("GET", "recuperertaux.asp?id=" + id, true);
        xmlhttp.send();
    }
     
    </script>
    L'élément avec id="taux" est un <input type="text">:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="taux" id="taux" value="" />
    et la page recuperertaux.asp?id=20 (par exemple) peut rendre (entre autres, mais je laisse une seule balise pour simplifier):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      <?xml version="1.0" encoding="ISO-8859-1" ?> 
      <taux>0,9</taux>
    La fonction est appelée dans un select :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <select name="id_idcc" id="cc" onchange="remplir_taux(this.value)">
    <option value=""></option>
    ...
    </select>
    Je me demande si le problème est dans le responseXML (ligne 21) parce que l'erreur semble être juste après (quand on essaie de récupérer la valeur et l'affecter à la value de l'input).

    Merci infiniment de votre temps!

  2. #2
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Hello,

    c'est quoi l'erreur exactement?

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut
    Citation Envoyé par DoubleU Voir le message
    Hello,

    c'est quoi l'erreur exactement?
    Détails de l’erreur de la page Web

    Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)
    Horodateur : Mon, 27 Jun 2011 15:35:47 UTC


    Message : Objet requis
    Ligne : 65
    Caractère : 13
    Code : 0
    URI : http://.../default.asp
    La ligne 65 correspond à la 22 dans le code copié plus haut.

  4. #4
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Le fichier ASP est-il bien servi en tant que document text/xml ?

    Sinon, essaie de placer (après l'appel à la méthode xmlhttp.open), la ligne
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlhttp.overrideMimeType('text/xml');
    pour voir.

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Citation Envoyé par sandia Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      <?xml version="1.0" encoding="ISO-8859-1" ?> 
      <taux>0,9</taux>
    il est souvent préférable de partir sur du XML valide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
    <data>
      <taux>0,9</taux>
    </data>
    ftp://ftp-developpez.com/magazine/De...02.pdf#page=66

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut
    Retour des vancances!

    Merci de vos reponses!

    Mais je n'ai pas réussi à régler le problème

    Citation Envoyé par Eric2a Voir le message
    Salut,

    Le fichier ASP est-il bien servi en tant que document text/xml ?

    Sinon, essaie de placer (après l'appel à la méthode xmlhttp.open), la ligne
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlhttp.overrideMimeType('text/xml');
    pour voir.
    Si je mets la ligne de code j'ai une erreur à cette ligne-là exactement:

    Détails de l’erreur de la page Web

    Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)
    Horodateur : Mon, 1 Aug 2011 14:16:26 UTC


    Message: Cet objet ne gère pas cette propriété ou cette méthode
    Ligne: 72
    Caractère: 5
    Code: 0
    URI: http://[...]/default.asp
    Si quelqu'un a une piste...

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    il est souvent préférable de partir sur du XML valide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
    <data>
      <taux>0,9</taux>
    </data>
    ftp://ftp-developpez.com/magazine/De...02.pdf#page=66
    Désolée, j'ai bien mis les balises racines, j'ai trop simplifié mon code. Ca ressemble plus à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
    <taux>
       <tx_mini>0,9</tx_mini> 
       <tx_maxi>0,1</tx_maxi> 
       [...]
    </taux>

Discussions similaires

  1. [AJAX] AJAX : responseXML
    Par linar009 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/05/2007, 16h07
  2. [AJAX] responseXML xmlhttprequest .
    Par Alex35 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 24/04/2007, 17h24
  3. [AJAX] responseXml == null
    Par Gryon dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/04/2007, 11h34
  4. [AJAX] responseXML et flux XML
    Par cheachwood dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/01/2007, 13h40
  5. [DOM] [Ajax]responseXML et méthodes DOM
    Par Herode dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/07/2006, 20h19

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