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 == null


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 22
    Par d�faut [AJAX] responseXml == null
    Bonjour,

    je d�bute avec ajax. J ai donc voulu commencer par mettre en place un exemple que tous les tutoriaux pour d�butant propose, � savoir une page web avec un lien qui va executer une requete au serveur pour all� chercher des infos sous forme Xml.

    Donc voici la page qui me fourni du xml :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    <%@ page language="java" contentType="text/xml"	pageEncoding="ISO-8859-1" session="false"%>
    <?xml version="1.0" encoding="utf-8"?>
    <exemple>
    	<donnee> donnee 1 </donnee>
    	<donnee> donnee 2 </donnee>
    	<donnee> donnee 3 </donnee>
    </exemple>
    et la page web avec son javascript:
    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
    <%@ taglib uri="/WEB-INF/tld/portlet.tld" prefix="portletAPI"%>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    	pageEncoding="ISO-8859-1" session="false"%>
    <portletAPI:init />
     
    <script type="text/javascript">
    <!--
    function ajax()
    {
        var xhr=getXMLHttpRequest();
     
    	xhr.onreadystatechange = function() { alert_ajax(xhr); };
     
        //on appelle le fichier reponse.txt
        xhr.open("GET", "GenXml.jsp", true);
        xhr.send(null);
     
    }
     
    function alert_ajax(xhr) {
        if (xhr.readyState==4) {
    		alert(xhr.responseXML);
    		alert(xhr.status);
    		var docXML= xhr.responseXML;
    		var items = docXML.getElementsByTagName("donnee")
    		//on fait juste une boucle sur chaque element "donnee" trouvé
    		for (i=0;i<items.length;i++) {
    			alert(items.item(i).firstChild.data);
    		}
    	}
    }
     
    // retourne un objet xmlHttpRequest.
    // méthode compatible entre tous les navigateurs (IE/Firefox/Opera)
    function getXMLHttpRequest(){
      var xhr=null;
      if(window.XMLHttpRequest) // Firefox et autres
      xhr = new XMLHttpRequest();
      else if(window.ActiveXObject){ // Internet Explorer
        try {
          xhr = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
          try {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (e1) {
            xhr = null;
          }
        }
      }
      else { // XMLHttpRequest non supporté par le navigateur
        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
      }
      return xhr;
    }
     
     
    //-->
    </script>
     
    <P>
    <a href="javascript:ajax();">Cliquez-moi !</a>
    </P>
    Lorsque je clique sur mon lien, j'ai une erreur : "docXML has no properties" me dit Firebug.
    Et pour cause : le alert(xhr.responseXML) m'affiche null.
    Cepandant, le alert(xhr.status) vaut 200 ce qui signifie que la ressource a bien �t� trouv�e, il me semble.

    Je ne sais pas pourquoi le xhr.responseXML me retourne null.
    Si qq1 a une id�e je lui en serai gr�s de m en faire part .

    J'ai comme environnement server des Portlets, je sais pas si �a peut influer le comportement du fonctionnement AJAX..?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    53
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 53
    Par d�faut
    et ta page "GenXml.jsp" qu'est ce qu'elle fait ?
    c'est elle qui doit te retourner la response.

    tu dois �crire sur le out dans cette page.

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 22
    Par d�faut
    J'ai effectu� un nouveau test. J'ai essayer de faire fonctionner exactement la m�me chose sur un serveur diff�rent : Tomcat. Et avec lui �a marche tr�s bien. J'en d�duit donc que mon probleme vient du serveur que j utilise (IBM Websphere portal 5.1).
    Si quelqu'un a de la documentation sur le fonctionnement d'ajax avec ce serveur, je lui en serai gr�s qu'il m en fasse part .

  4. #4
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    22
    D�tails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 22
    Par d�faut
    Voila, j ai trouv� la solution.
    Visiblement, ajax ne fonctionne pas correctement lorsqu'on l'effectue au niveau des portlets. Par contre, rien nous emp�che de cr�er un servlet ind�pendant qui sera la cible ressource de l'ajax.
    voici un petit lien qui explique tout �a :
    http://www-128.ibm.com/developerwork...06_bishop.html

+ R�pondre � la discussion
Cette discussion est r�solue.

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 et flux XML
    Par cheachwood dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 11/01/2007, 13h40
  4. [ajax] xhr.responseXML == null ?!
    Par XecTech dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 12/08/2006, 17h22
  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