Bonjour � tous,
J'ai un probl�me, je ne comprend pas du tout comment fonctionne c'est deux objet. Dans mon petit exemple j'envoi une requ�te a mon serveur et il me renvoit les donn� dans un flux comme suis:
Exemple avec les JSP:
Ensuite, quand je veux lire les donn�es du c�t� client, sa marche pas. Quand je fais XMLHttpRequest.responseXML �a fonction je re�ois un objet, et j'ai plus v�rifier que c'�tais un XMLDocument en ex�cutant le meme script sur firefox en faisant un alert(XMLHttpRequest.responseXML).
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 int provinceId = new Integer(req.getParameter("state")).intValue(); resp.setHeader("Content-type",req.getContentType()); resp.setCharacterEncoding(req.getCharacterEncoding()); String xmlFile = "<?xml version='1.0' standalone='yes' ?>"+ "\n<listVille>"+ "\n\t<ville>\n\t\t<num>0</num>\n\t\t<nom>Aucune sélection</nom>\n\t</ville>"; Connection connectBD = DriverManager.getConnection(this.urlBD); ResultSet rs = connectBD.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery("select * from Ville where province="+provinceId); while (rs.next()) { xmlFile += "\n\t<ville>\n\t\t<num>"+rs.getInt("id")+"</num>\n\t\t<nom>"+rs.getString("nom")+"</nom>\n\t</ville>"; } xmlFile += "\n</listVille>"; rs.close(); connectBD.close(); resp.getWriter().println(xmlFile);
Rendu � cette �tape je n'arrive pas a acc�der � l'�l�ment principal(root node), sous internet explorer �a me dit "null" et sur firefox le alert n'apparait meme pas sur XMLHttpRequest.responseXML.getElementByTagName("listVille"). En gros voil� mon script c�t� client.
Cr�ation de la requ�te:
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 http_request = false; if (window.XMLHttpRequest) http_request = new XMLHttpRequest(); else { if (window.ActiveXObject) { try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e1) {} } } } if (http_request) { http_request.onreadystatechange = update; http_request.open("GET", url+"?state="+state_Id, true); http_request.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1"); http_request.send(null); }
R�ception des donn�es:
Avec un responseText j'ai pas de probl�me, mais responseXML chu fourrer, merci d'avance de m'aider.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 function update() { if (http_request.readyState == 4) { if (http_request.status == 200) { var xmlDoc = http_request.responseXML; alert("XMLDoc: "+xmlDoc); var root_node = xmlDoc.getElementsByTagName("listVille") alert("RootNode: "+root_node); //Marche po... :'( //Je sais plus koi faire } else alert("Error no."+http_request.status+"\nAn error occur while receiving data"); } }
Partager