客户端:
<script type="text/javascript">
    function getXml(){
        var name = $("#input").val();
        alert("into getXml()");
        $.ajax({
            type : "post",
            url : "/ajaxReturnXmlServlet",
            dataType : "XML",
            data : {"name" : name},
            error : function(){
                alert("there is a error!");
            },
            success:function(xml){
                $(xml).find("result").each(function(){
                    var name = "";
                    var age = "";
                    name = $(this).find("name").text();
                    age = $(this).find("age").text();
                    $("#member").append($("<tr><td>"+name
                             +"</td><td>" + age +"</td></tr>"));
                    }
                );
            }
        });
    }
</script>

服务器端:

public class AjaxReturnXmlServlet extends HttpServlet{
    private static final long serialVersionUID = 1L;

@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request,response);
    }

@Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String name = request.getParameter("name") == null ? "" : request.getParameter("name");
        System.out.println(name);
        response.setContentType("text/xml;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        StringBuffer returnXmlBuff = new StringBuffer();
        returnXmlBuff.append("<?xml version=\"1.0\" encoding=\"utf-8\"?><root>");
        
                returnXmlBuff.append("<result id=\"one\">");
                returnXmlBuff.append("<name>b</name>");
                returnXmlBuff.append("<age>11</age></result>");
                
                returnXmlBuff.append("<result id=\"two\">");
                returnXmlBuff.append("<name>bb</name>");
                returnXmlBuff.append("<age>22</age></result>");
                
                returnXmlBuff.append("<result id=\"three\">");
                returnXmlBuff.append("<name>cc</name>");
                returnXmlBuff.append("<age>33</age></result>");
                
                returnXmlBuff.append("<result id=\"fore\">");
                returnXmlBuff.append("<name>dd</name>");
                returnXmlBuff.append("<age>44</age></result>");
    
        returnXmlBuff.append("</root>");
        System.out.println(returnXmlBuff.toString());
        out.print(returnXmlBuff.toString());
        out.flush();
        out.close();
    }
    
    
}

1、继承HttpServlet,需要添加servlet.jar包
2、serialVersionUID默认是1L,实现反序列化
3、在server.xml中,如果path="/"访问项目需要添加端口号和项目名,则页面中引用的jQuery的js引用不到,所以要使用不加项目名的访问方式
4、在Java代码的双引号里(""),如果字符串中需要有双引号这个字符,则在每一个"的前面,添加‘\’来转意
5、xml格式要拼接正确

web.xml:
  <servlet>
      <servlet-name>AjaxReturnXmlServlet</servlet-name>
      <servlet-class>com.oct.servlet.AjaxReturnXmlServlet</servlet-class>
  </servlet>
 
  <servlet-mapping>
      <servlet-name>AjaxReturnXmlServlet</servlet-name>
      <url-pattern>/ajaxReturnXmlServlet</url-pattern>
  </servlet-mapping>

ajax对服务器返回xml的处理过程的更多相关文章

  1. 【04】AJAX接收服务器返回的数据

    AJAX接收服务器返回的数据 readyState 和 status 属性 readyState 属性保存有 XMLHttpRequest 对象的交互状态,从 0 到 4 变化: 0 :未初始化(还没 ...

  2. Ajax接收服务器返回的信息response

    Ajax可以向服务器发起请求,有去的方式,那么久必然可疑返回. 服务器返回的信息也可以通过Ajax接收. Ajax共有5种状态: 1.创建对象,没有调用open方法 2.对象发起请求http,已经调用 ...

  3. ajax 获取服务器返回的XML字符串

    前台 解析失败不会抛出任何异常, 只会返回一个给定的错误文档 let l = console.log let http = ajanuw.create({ uri: 'http://localhost ...

  4. JS请求服务器,并返回信息,请求过程中不需要跳转页面

    js请求服务器,并返回信息,请求过程中不需要跳转页面 这个可以通过jQuery框架轻松实现,jQuery中包含多种ajax的请求方式,详细可以参考下对应 的API. 你上面定义的按钮类型是submit ...

  5. Mui.ajax请求服务器正确返回json数据格式

    ajax: mui.ajax('http://server-name/login.php',{ data:{ username:'username', password:'password' }, d ...

  6. datatables 服务器返回数据后的处理-表格数据属性的操作方法(ajax.dataSrc)

    http://dt.thxopen.com/reference/option/ajax.dataSrc.html http://datatables.net/reference/option/ajax ...

  7. Ajax返回xml类型数据

    ajax可以返回文本类型数据和xml类型数据,xml是计算机通用语言 可以使用js解析返回xml类型数据的dom对象 前端页面 <!doctype html> <html lang= ...

  8. 用ajax的同步请求解决登陆注册需要根据服务器返回数据判断是否能提交的问题

    最近在写www.doubilaile.com的登陆注册.需要用ajax请求服务器判断用户名是否存在,用户名和密码是否匹配,进而提交数据.碰到的问题是异步请求都能成功返回数据,但是该数据不能作为紧接着的 ...

  9. [转]jquery异步ajax与服务器通信过程中如何通过then方法链式传递多层数据

    原文:https://www.cnblogs.com/fullstack-yang/p/6115983.html doSubmit: function(){ var dtd = $.Deferred( ...

随机推荐

  1. Map容器中keySet()、entrySet()

    1.定义 keySet(): 返回的是只存放key值的Set集合,使用迭代器方式遍历该Set集合,在迭代器中再使用get方法获取每一个键对应的值.使用get方法获取键对应的值时就需要遍历Map集合,主 ...

  2. tzhpxc

    #include<bits/stdc++.h> using namespace std; int nxt[200100],las[200100],ct,va[200010],pos[410 ...

  3. hdoj1068 Girls and Boys(二分图的最大独立集)

    题意:有n个人,要彼此认识.选择一个集合,使得集合里的每个人相互不认识.求集合中人数的最大值. 求二分图的最大独立集. 公式:最大独立集=顶点数-最大匹配 这个题目中因为集合是一个,所以求出最大匹配数 ...

  4. 删除 Win10 更新后的 Z 盘符(已验证)

    如果你有一些不希望被访客看见的文件.照片或者视频,希望将它隐藏在一个只有自己知道的地方,那么今天的这篇教程非常适合你.我们要实现的最终效果是这样的:在Win10的"此电脑"中,有这 ...

  5. vue复选框选中值获取

    <div id="d5"> <p>{{box5.toString()}}</p> <input type="checkbox&q ...

  6. 最常用的15大Eclipse开发快捷键技巧

    1.alt+?或alt+/:自动补全代码或者提示代码 这个是我最得意的快捷键组合了,尤其是当输入syso几个字符之后,2个手指轻松按下这2个键的时候,自动就补全System.out.println() ...

  7. 死锁、Lock锁、等待唤醒机制、线程组、线程池、定时器、单例设计模式_DAY24

    1:线程(理解) (1)死锁 概念: 同步中,多个线程使用多把锁之间存在等待的现象. 原因分析: a.线程1将锁1锁住,线程2将锁2锁住,而线程1要继续执行锁2中的代码,线程2要继续执行锁1中的代码, ...

  8. (转)Python标准库02 时间与日期 (time, datetime包)

    原文:http://www.cnblogs.com/vamei/archive/2012/09/03/2669426.html https://www.liaoxuefeng.com/wiki/001 ...

  9. 删除文件以后,如何通过git撤销删除的文件,不提交到远端代码库

    检查状态,看看发生了什么:$ git statusOn branch masterChanged but not updated:(use "git add/rm <file>. ...

  10. Maven 学习笔记(一)

    什么是 maven? 对于已经使用过 maven 的用户来说 maven 就是一个架构工具,使用它可以将代码构建成一个可发布的工具.当然也有人会说maven是一个项目管理的工具.当然各有各的说法,那么 ...