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..?