JS代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>   
     <script type="text/javascript" src="jquery-1.4.2.js"></script>
      <script type="text/javascript">
      function jj(){          
        $.ajax({
            url: 'AjaxServlet',  //提交的地址
            type: 'post',        //提交方式
            dataType: 'XML',     //数据的类型,XML、text,注意XML是大写的
            error: function(){   //出现异常时调用回调函数
                alert('无法返回正确的数据');
            },
            //当成功返回数据时进行的操作,
            //如果前面dataType设置了XML,那么参数xml是XML文档的内容
            //如果前面dataType设置了text,那么参数xml是字符串
            success: function(xml){   
                //解析XML跟解析HTML差不多,获取文本值时最好用text(),因为有些jquery版本不支持html()解析XML
                alert($("b",xml).text());
                 $("info",xml).each(function(){
                     alert($(this).text());
                 });
            }
        });
      }
         
    </script>
  </head>
  <body>
    <div>
        <input type="button" value="点击进入ajax" onclick="jj();"/>
    </div>
  </body>
</html>

Servlet代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package servlet;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AjaxServlet extends HttpServlet {
    public AjaxServlet() {
        super();
    }
    public void destroy() {
        super.destroy(); 
         
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
 
        // 这里响应类型必须是text/xml
        response.setContentType("text/xml;charset=gbk"); 
        request.setCharacterEncoding("gbk");
        PrintWriter out = response.getWriter();
        // XML头,没有这个可能Javascript解析不出XML,最好设一下
        StringBuilder sb = new StringBuilder("<?xml version=\"1.0\" encoding=\"gbk\"?>");
        // 根元素<root></root>一定需要,否则Javascript解析不出XML,但名字不一定要叫root
        sb.append("<root><info id='1'><b>a</b></info ><info id='1'>b</info><memo id='2'>c</memo><memo>d</memo></root>");
        //写出XML
        out.println(sb.toString());
        out.flush();
        out.close();
    }
    public void init() throws ServletException {}
}

使用jquery处理ajax返回XML的更多相关文章

  1. jquery实现ajax,返回json数据

    jquery实现ajax可以调用几种方法 我经常用的是$get(url,data,callback,type)方法 其中url是异步请求的页面(可以是.ashx文件),data是参数,callback ...

  2. Ajax返回xml类型数据

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

  3. jquery操作ajax返回的页面元素

    这两天工作不忙,正好从朋友那里拿到一个某个应用的开发文档,相关数据放在了mongodb里,自己电脑可以本地开启服务器然后通过给的借口来获取数据.由于这是一个比较大比较全的一个完整项目,也没有那么多经历 ...

  4. PHP AJAX 返回XML数据

    例子:利用AJAX间接访问数据库,查出Nation表中的数据,返回XML数据,并将Nation表中的数据显示在下拉列表框中 外层建一个下拉列表框 </select> JQurey代码 $( ...

  5. jquery中ajax返回值无法传递到上层函数

    function通过ajax调用获取后台数据,结果返回出来的结果均为空,代码如下: function chart_coinbase_getdata() { var test = {postdata:& ...

  6. Jquery 等待ajax返回数据loading控件ShowLoading组件

    1.意义 开发项目中,前台的页面要发请求到服务器,服务器响应请求返回数据到前台,这段时间,有可能因为返回的数据量较大导致前台页面出现短暂性的等待,此时如果用户因不知情而乱点击有可能造成逻辑混乱,所以此 ...

  7. jquery 调用ajax返回json

    ie调用可以,火狐和chrome皆失败,找了半天原因. 被屏蔽了. 火狐和chrome 对同一个域名不同端口的调用也严格限制,不给调用.只能用jsonp. 查看网络的返回状态,错误信息,F12 很重要 ...

  8. jQuery解析AJAX返回的html数据时碰到的问题与解决

    $.ajax({ type : "post", url : "<%=request.getContextPath()%>/ce/articledetail/m ...

  9. jquery输出ajax返回数据中的时间戳转化为日期时间的函数

    //第一种 function getLocalTime(nS) { ).toLocaleString().replace(/:\d{,}$/,' '); } alert(getLocalTime()) ...

随机推荐

  1. js 属性类型

    1.访问器属性 var book = { _year: 2004, edition: 1 }; Object.defineProperty(book, "year", { get: ...

  2. codeforce343A

    题目地址:http://codeforces.com/problemset/problem/343/A 比赛的时候就囧了,只推出a<b的时候最少需要b个电阻. 后来看了题解,知道 题意:用最少的 ...

  3. 转:C#中的委托和事件(续)

    引言 如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识.但那些远不是委托和事件的全部内容,还有很多的地方没有涉及.本文将讨论委托和事件一些更为细节的问题,包括一些大家常 ...

  4. HttpWebRequest.Method 属性

    public static void GetHead(string url) { var http = (HttpWebRequest)WebRequest.Create(url); http.Met ...

  5. VS Visual Studio connection(); Microsoft Visulal Studio vNext & Azure

    http://www.visualstudio.com/connect-event-vs

  6. Trapping Raining Water 解答

    Question Given n non-negative integers representing an elevation map where the width of each bar is ...

  7. HBase 6、用Phoenix Java api操作HBase

    开发环境准备:eclipse3.5.jdk1.7.window8.hadoop2.2.0.hbase0.98.0.2.phoenix4.3.0 1.从集群拷贝以下文件:core-site.xml.hb ...

  8. UGUI Scrollbar控件

    如题就是Scrollbar控件,它简单可以看成 Scrollbar 和 Image组件组成 它基本上不单独使用多数是制作滚动视图.我们来看看他独特的属性,重复的属性就不在介绍了! 属性讲解: Hand ...

  9. Java连接各类数据库

    几种常用数据库的连接,以及Dao层的实现. 1.加载JDBC驱动: 1 加载JDBC驱动,并将其注册到DriverManager中: 2 //MySQL数据库 3 Class.forName(&quo ...

  10. Python 练习 —— 2048

    1. 引言 2048 这段时间火的不行啊,大家都纷纷仿造,"百家争鸣",于是出现了各种技术版本号:除了手机版本号,还有C语言版.Qt版.Web版.java版.C#版等,刚好我接触P ...