首页 > 语言 > JavaScript > 正文

jQuery解析返回的xml和json方法详解

2024-05-06 15:03:32
字体:
来源:转载
供稿:网友

本文实例讲述了jQuery解析返回的xml和json方法。分享给大家供大家参考,具体如下:

一、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 端返回的值

@Overrideprotected 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字符串则进行转化  // 注意这样写有时有问题,因为已经在ajax中定义了返回的是json对象而在使用eval() 来转化就有可能报错,所以要吗把json 换成text要吗把eval去了直接使用data  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();}            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选