(AJAX学习二) XHR及JQuery处理XML数据

前面文章处理的文本数据,今天终于把处理XML数据调试通过了。。。

Js中主要是回调函数的处理不同:

  1. function callback(){
  2.     //判断对象交互
  3.     if(xmlhttp.readyState == 4){
  4.         //判断http交互
  5.         if(xmlhttp.status == 200){
  6.             //使用responseXML的方式来接收XML数据对象的DOM对象
  7.             var domObj = xmlhttp.responseXML;
  8.             if(domObj){
  9.                 //DOM中使用getElementsTagName根据标签名来获得元素节点
  10.                 var messageNodes = domObj.getElementsByTagName("message");
  11.                 if(messageNodes.length > 0){
  12.                     //获得文本内容对应的节点
  13.                     var textNode = messageNodes[0].firstChild;
  14.                     //nodeValue获得节点的文本内容
  15.                     var responseMessage = textNode.nodeValue;
  16.                     
  17.                     var divNode = document.getElementById("result");
  18.                     //设置元素节点的HTML内容
  19.                     divNode.innerHTML = responseMessage;
  20.                 }
  21.                 else {
  22.                     alert("messageNodes is null!" + xmlhttp.responseText);
  23.                 }
  24.             }
  25.             else{
  26.                 alert("responseXML Error:" + xmlhttp.responseText);
  27.             }
  28.         }
  29.         else {
  30.             alert("出错了。。。");
  31.         }
  32.     }
  33. }

下面是JQuery处理XML。。。

  1. function verify(){
  2.     var obj = $("#username");
  3.     var name = obj.val();
  4.     
  5.     var a = {name:"123",age:23};
  6.     
  7.     $.ajax({
  8.         type: "POST",
  9.         url: "AJAXXMLServer",
  10.         //web.xml对应配置
  11.         //<servlet-mapping>
  12.         //      <servlet-name>AJAXXMLServer</servlet-name>
  13.         //      <url-pattern>/AJAXXMLServer</url-pattern>
  14.         //</servlet-mapping>
  15.         data: "name=" + name,
  16.         dataType: "xml",
  17.         success: callback
  18.     });
  19.     
  20.     $.get("AJAXXMLServer?name="+name,null,callback);
  21. }
  22. //回调函数
  23. function callback(data){
  24.     var jqueryObj = $(data);
  25.     var message = jqueryObj.children();
  26.     var text = message.text();
  27.     var resultObj = $("#result");
  28.     resultObj.html(text);
  29.     alert("");
  30. }

服务器端Servlet拼装XML数据。。。

  1. String old = request.getParameter("name");
  2.             
  3.             StringBuilder builder = new StringBuilder();
  4.             builder.append("<message>");
  5.             if(old == null || old.length() == 0) {
  6.                 builder.append("用户名不能为空").append("</message>");
  7.             }
  8.             else {
  9.                 //把返回拼装成XML格式
  10.                 String name = old;
  11.                 if(name.equals("gqh")){
  12.                     builder.append("用户["+name+"]已经存在,请使用其它用户!").append("</message>");
  13.                 }
  14.                 else{
  15.                     builder.append("用户["+name+"]尚不存在,可以使用该用户!").append("</message>");
  16.                 }
  17.             }
  18.             out.println(builder.toString());

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值