jquery中ajax⽅法返回的三种数据类型:text、json、xml;
1.当dataType:"text"时,处理页⾯⽤的是DBDA类中的Strquery()⽅法,所以返回的数据是下⾯这样的,所以要对返回来的数据⽤split根
据“|”和“^”来分割,保存到数组,例⼦见三级联动
2.当dataType:"json"时,处理页⾯使⽤DBDA类中的Guanquery()⽅法,所以返回的数据是下⾯这样的,json相当于关联数组,处理界⾯⼀般⽤Guanquery()
以填充民族表为例
显⽰页⾯代码
<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循环,遍历返回的数据,下⾯⽤de和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(),并且是调⽤返回关联数组的⽅法
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);
jquery ajax例子
echo "<nation bs='1'>";  //还可以给标签设置属性
foreach($attr as$k=>$v)
{
echo "<n{$k}><code>{$v[0]}</code><name>{$v[1]}</name></n{$k}>";
}
echo "</nation>";

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。