AJAX XML
michael
- java
Hallo,
wie bekomme ich an das XML-Element <test> im Servlet?
Client JS mit Ext-Ajax-Bibliothek:
var xml = "<test>abc</test>";
function saveXML(){
Ext.Ajax.request({
url: 'http://localhost:8080/FormTree/AjaxServlet',
success: function(xhr) {
alert('Response is "' + xhr.responseText + '"');
},
failure: errorAlert,
method: 'POST',
xmlData : xml
});
}
Server Tomcat Servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
<Klappt nicht>
String command = request.getParameter("test");
</Klappt nicht>
out.close();
}
Vielen Dank
Michael
Hallo,
wie bekomme ich an das XML-Element <test> im Servlet?
Du meinst: "in der Response"?
req.responseXML.getElementsByTagName('test');
req (Dein xhr, das Object, was für den Request erstellt wurde)
Hotte
Ne, ich meine Serverseitig das request Object. Ich schicke ein XML vom Client an den Server.
Grüße
Michael
Ext.Ajax.request({ url: 'http://localhost:8080/FormTree/AjaxServlet', success: function(xhr) { alert('Response is "' + xhr.responseText + '"'); }, failure: errorAlert, method: 'POST', xmlData : xml });
Vermutlich POSTet das das Dokument direkt. Also kein application/x-www-form-urlencoded, sondern direkt XML im POST-Body. Prüfe das mit Firebug.
<Klappt nicht>
String command = request.getParameter("test");
</Klappt nicht>
Greife direkt den POST-Body zu. Ich weiß nicht, wie das geht, ich kenne Java nicht, aber du kannst das sicher recherchieren.
Mathias
Hi,
String command = request.getParameter("test");
wieso sollte das auch klappen?
Du übergibst ja keinen Parameter namens test.
Wenn Du an den Body des Requests willst:
HttpServletRequest bzw. schon ServletRequest bietet getInputStream und getReader.
cu,
Andreas