jquery中ajax方法返回的三种数据类型:text、json、xml;

时间:2023-03-10 06:41:57
jquery中ajax方法返回的三种数据类型:text、json、xml;

1.当dataType:"text"时,处理页面用的是DBDA类中的Strquery()方法,所以返回的数据是下面这样的,所以要对返回来的数据用split根据“|”和“^”来分割,保存到数组,例子见三级联动

jquery中ajax方法返回的三种数据类型:text、json、xml;

2.当dataType:"json"时,处理页面使用DBDA类中的Guanquery()方法,所以返回的数据是下面这样的,json相当于关联数组,处理界面一般用Guanquery()

jquery中ajax方法返回的三种数据类型:text、json、xml;

以填充民族表为例

显示页面代码

<script src="jquery-1.11.2.min.js"></script>      //一定不要忘记引入
</head> <body>
<select id="nation"> //造一个下来菜单,下面用jquery往里添加option
</select>
</body>
</html>
<script>
$(document).ready(function(e) {
$.ajax({
url:"jsonchuli.php",
dataType:"json",
success:function(data)
{
alert(data);
var str ="";
for(var i=0;i<data.length;i++) //使用for循环,遍历返回的数据,下面用data.code和data.name,因为处理页面是调用的关联数组
{
str = str+"<option value='"+data[i].Code+"'>"+data[i].Name+"</option>";
} $("#nation").html(str); }
});
}); </script>

处理界面

<?php
include("DBDA.class.php");
$db=new DBDA();
$sql="select * from nation ";
echo json_encode($db->GuanQuery($sql)); //用json_encode(),并且是调用返回关联数组的方法

jquery中ajax方法返回的三种数据类型:text、json、xml;

3.当dataType:"xml"时

XML的特点:

1.必须要有一个根
2.标签名自定义
3.对大小写敏感
4.有开始就要有结束
5.同一级别下只能有一个标签名

<nation>
<n1>
<code>n001</code>
<name>汉族</name>
</n1>
<n2>
<code>n002</code>
<name>回族</name>
</n2>
</nation>

显示页面

<select id="sel">
</select> <script type="text/javascript">
$.ajax({
url:"xmlchuli.php",
dataType:"XML",
success: function(data){ alert($(data).find("nation").attr("bs")); //这是通过找nation标签,取它的ts属性 var allcode = $(data).find("code"); //通过$(data).find();找到的是所有的code
var allname = $(data).find("name"); //通过$(data).find();找到的是所有的name
var str ="";
for(var i=0;i<allcode.length;i++)
{
var code = allcode.eq(i).text(); //把allcode每一项遍历给code
var name = allname.eq(i).text(); str = str +"<option value='"+code+"'>"+name+"</option>";
} $("#sel").html(str);
}
});
</script>

处理页面

<?php
include("DBDA.class.php");
$db = new DBDA(); $sql = "select * from nation"; $attr = $db->Query($sql); echo "<nation bs='1'>"; //还可以给标签设置属性 foreach($attr as $k=>$v)
{
echo "<n{$k}><code>{$v[0]}</code><name>{$v[1]}</name></n{$k}>";
} echo "</nation>";