码迷,mamicode.com
首页 > Web开发 > 详细

jquery 解析返回的xml和json

时间:2015-08-09 20:49:02      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

一、jquery 解析ajax请求返回的xml格式的数据

1、发送ajax请求


<script type="text/javascript">
function  jqxml(){
    $.ajax({
        url:"http://localhost:18080/servlet/Servlet1",
         // 请求方式
        type:"post",
        // 服务器返回的数据的格式,常用的有 text/xml/json
        dataType:"xml",
        data:{age:1212},
        success:function(data){
            // 这里获取的data就是一个xml对象,这个对象可以按照dom树格式来解析
            var name=$(data).find("infos").find("info").each(function(){
                alert($(this).find("name").text());
                alert($(this).find("age").text());
            });
        },
        error:function (edata){
            alert(edata);
        }
        
    });
    
};
</script>

2、servlet 端返回的值

  @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String aaa= request.getParameter("age");
        System.out.print("ajax 数据:"+aaa);
        // 向客户端响应信息
        response.setCharacterEncoding("GBK");
        response.setContentType("text/xml");
        PrintWriter  out= response.getWriter();
        out.print("<?xml version=\"1.0\" encoding=\"GBK\"?>");
        out.println("<infos>");
        out.println("<info>");
        out.println("<name>"+"name1"+"</name>");
        out.println("<age>"+12+"</age>");
        out.println("</info>");
        out.println("<info>");
        out.println("<name>"+"name11"+"</name>");
        out.println("<age>"+112+"</age>");
        out.println("</info>");
        out.println("</infos>");
    }

二、jquery 解析返回的json 格式的数据,这里是返回的json对象格式,如果返回的是json数组格式,就是js数组,所以按照js数组获取

1、ajax 请求以及解析过程


<script type="text/javascript">
function  jqxml(){
    $.ajax({
        url:"http://localhost:18080/servlet/Servlet3",
         // 请求方式
        type:"post",
        // 服务器返回的数据的格式,常用的有 text/xml/json
        dataType:"json",
        data:{age:1212},
        success:function(data){
        // 通过eval() 函数将字符串转化为js对象,如果返回的是json对象则eval() 函数不处理,如果返回的是json字符串则进行转化
        var  json= eval("("+data+")");
             var age1=json.age;
             var name1=json.name;
            alert(age1+""+name1);
        },
        error:function (edata){
            alert(edata);
        }
    });
};
</script>


2、 servlet 返回的json格式数据

protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
        // 向ajax 返回json格式的数据
        String aaa = request.getParameter("age");
        System.out.print("ajax 数据:" + aaa);
        // 向客户端响应信息
        response.setCharacterEncoding("GBK");
        response.setContentType("text/json");
        PrintWriter out = response.getWriter();
        // 这里使用 json 对象的格式
        String stu = "{age:12,name:name12}";
        out.print(stu);
        out.flush();
        out.close();
    }


版权声明:本文为博主原创文章,未经博主允许不得转载。

jquery 解析返回的xml和json

标签:

原文地址:http://blog.csdn.net/qh_java/article/details/47378153

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!