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] responseXML


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 163
    Par défaut [AJAX] responseXML
    Avant de devenir fou, pouvez-vous jeter un coup d'oeil sur ce code.
    Bonjour,
    Toujours le problème responseText ou responseXML ...

    Environnement: PHP-Mysql-Firefox2.0/IE

    Voici côté serveur:
    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
     
    header("Cache-Control: no-cache, must-revalidate");
    header('Content-Type: text/xml'); 
    header('Pragma: no-cache');
    ...
    //Lecture de données dans une base mysql
    ...
    //Construction de la réponse
    $_xml ="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";      
    $_xml .="<alarmes>\n";
    while ($row = mysql_fetch_array($result))
    { 
          $_xml .= "<alarme> nom = '" . $row['Texte'] ."' />\n" ;  
    }
    $_xml .="</alarmes>\n";
    //Envoi au browser
    echo $_xml;
    ...
    Côté client, browser:
    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
     
    function ajaxFunction()
    {
     
    try
    {   // Mozilla , Safari
        var ajaxrequest = new XMLHttpRequest();
    }
    catch (e)
    {
        try
        {   // Internet Explorer
            var ajaxrequest = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (e)
        {
            alert("Your browser broke !");
            return false;
        }
    }
    }
     
    ajaxrequest.onreadystatechange=function() {
        if (ajaxrequest.readyState == 4 && ajaxrequest.status == 200)
        {
            if(ajaxrequest.responseXML != null )
            {
                var items = ajaxrequest.responseText;
                alert(items);
                var xml = ajaxrequest.responseXML;
                alert(xml);
                var item = items.getElementsByTagName("alarme").item(0); 
                alert(item.firstChild.data);
            } 
        }    
    }
     
    ajaxrequest.open("GET","genere_alarme.php",true);
    ajaxrequest.send(null);    
     
    }
    Je teste avec Firefox2.0

    alert(items) affiche object XMLDocument -> cela semble correct
    alert(xml) affiche object HTML Collection -> idem
    alert(item.firstChild.data) génère une erreur dans Firefox/FireBug
    "item has no properties"

    Pourquoi ?
    Je souhaitais récupérer les données par la suite. Comment faire ?

    var alarme= xml.documentElement.getElementsByTagName("alarme"); ???

  2. #2
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    change le nom de ta variable item a tout hasard(c'est un nom réservé)

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    +1 change item et pour vérifier que ton xml est bien retourné essaye ceci :

    items = xml.getElementsByTagName("alarmes")[0];
    listeAlarme = items.getElementsByTagName("alarme");
    alert(listeAlarme.length);

    à tester

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 163
    Par défaut
    Merci pour vos suggestions.
    Le changement de noms n'a rien donné (items et item).
    La ligne listealarme = titi.getElementsByTagName("alarme");
    donne l'erreur
    "titi has no properties"

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    il semblerait que ton doc ne soit pas chargé.....

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 163
    Par défaut
    un alert(ajaxrequest.responseText) me donne le fichier xml correctement formatté.
    C'est cela dont tu parles ?

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