Bonjour à tous,

je vous expose mon problème:

j'ai une page JSP qui appelle une méthode Javascript:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
    	<div id="messages">
	<a href="javascript:checkForMessage()">Go</a>
    	</div>
La fonction javascript associée:

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
 
var req;
 
function initRequest(url) {
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
    } 
    else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
}
 
function checkForMessage() {
    var url = "http://localhost/EMI/RefreshAdminServlet?module=toto";
    initRequest(url);
    req.onreadystatechange = processReqChange;
    req.open("GET", url, true);
    req.send(null);
}
 
// callback
function processReqChange() {
	var select = window.document.getElementById("messages");
    if (req.readyState == 4) {
        if (req.status == 200) {
        	select.innerHTML = "";
        	select.innerHTML +="Données recues de la servlet <br />";
		var item = req.responseXML.getElementsByTagName("message");
		var message = item[0].childNodes[0].nodeValue +"<br />";
		select.innerHTML += message + "<br />";
 
        }
	// sleep de 5s et on repart
        setTimeout("checkForMessage()", 5000);
 
    }
Ma fonction Javascript envoit une demande de refresh à une Servlet:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
		response.setContentType("text/xml");
		response.setHeader("Cache-Control", "no-cache");
		PrintWriter pw = response.getWriter();
                pw.write("<message>Msg1</message>");
Jusque là, tout marche bien, j'affiche bien Msg1 sur ma page
Par contre si dans ma servlet je veux envoyer plusieurs tags <message>
plus rien à faire...ma fonction javascript ne reçoit plus rien...

dans ma servlet je fais:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
pw.write("<message>TOTO</message><message>TITI</message>");
et dans ma fonction javascript:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
var item = req.responseXML.getElementsByTagName("message");
var message = item[0].childNodes[0].nodeValue +"<br />";
message += item[1].childNodes[0].nodeValue +"<br />";
select.innerHTML += message + "<br />";
là je n'ai plus rien, même pas le premier tag message.
Quelqu'un pourrait m'éclairer ?

Merci de votre aide.
Tiamat.