此篇分为两部分,但两部分有关联,第二部分在第一部分的基础之上进行。
第一部分:使用纯ajax处理XML数据。
很简单,要想返回XML数据,除了在servlet或JSP里输出XML数据如,<message>abc</message>之外,还必须设置返回数据的格式:response.setContentType("text/xml;charset=utf-8")。在客户端接收时使用responseXML接收到一个DOM对象,然后再利用DOM进行处理,取到想要的数据,如abc。
另外,如果AJAX是以POST方式请求,在JS中必须加上xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),在发送数据时将要传递的数据进行拼接,如xhr.send('name='+encodeURI(encodeURI(name)))。
第二部分:使用jQuery处理XML数据。
使用jQuery更为简单,只需调用jQuery中的ajax函数即可。如$.ajax({
$.ajax({ type:'post', url:'XmlServlet', data:'name='+name, dataType:'xml', success:callback }); function callback(data){ var jqueryObj = $(data); var message = jqueryObj.children();//此处message为服务器返回的message标签 alert(message.attr('id')) var text = message.text(); $('#result').html(text); }
jquery的ajax方法各参数可以查看jquery的API文档。回调函数的参数data即为服务器端返回的XML数据,第一句(12行)将其封装为JQuery对象,然后再做处理。
将篇的代码见附件