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 :
et la page web avec son javascript:
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>
Lorsque je clique sur mon lien, j'ai une erreur : "docXML has no properties" me dit Firebug.
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>
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..?
Partager