调用AJAX返回JSONXML数据类型
Posted 魅影星魂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用AJAX返回JSONXML数据类型相关的知识,希望对你有一定的参考价值。
1.调用AJAX返回JSON数据
用下拉列表显示Nation表民族名称
主页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="../jquery-1.11.2.min.js"></script> </head> <body> <select id="sel"></select> </body> </html> <script type="text/javascript"> $(document).ready(function(e) { $.ajax({ //因为不用传数据,所以data与type不用写 url:"ChuLi.php", dataType:"JSON", //dataType中T必须大写,否则会出错 success: function(data){ /*var js = { //二维数组的json数据形式: aa:{code:"n001",name:"汉族"}, bb:{code:"n002",name:"苗族"}, };*/ var str = ""; for(var k in data) { str+="<option value=\'"+data[k][0]+"\'>"+data[k][1]+"</option>"; } $("#sel").html(str); } }); }); </script>
处理页面:
<?php include("../DB.class.php"); $db = new DB(); $sql = "select * from Nation"; $attr = $db->Query($sql); echo json_encode($attr); //将数组转换为json数据来输出
2.将调用AJAX返回JSON数据方法封装到数据库类里面
class DB { public $host="localhost"; //服务器地址 默认值为localhost public $uid="root"; //数据库用户名 默认值为root public $pwd="123"; //数据库密码 默认值为123 //AJAX调用返回JSON数据 public function JsonQuery($sql,$type=0,$db="mydb") { //1.造数据源 $dsn = "mysql:dbname=$db;host=$this->host"; //2.造对象 $pdo = new PDO($dsn,$this->uid,$this->pwd); //3.预处理 $stm = $pdo->prepare($sql); //4.执行预处理语句 if($stm->execute()) { if($type==0) { $attr = $stm->fetchAll(); return json_encode($attr); } else { if($stm) { return "OK"; } else { return "NO"; } } } else { echo "执行失败!"; } } }
2.调用AJAX返回XML数据
XML(Extensible Markup Language)可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。
XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。
XML:页面之间传递数据,跨平台传递,核心是标签
HTML:超文本标记语言,核心是标签
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
XML特点:
1.标签名可以自己定义
2.有且只有一个根
3.大小写敏感,双标签大小写必须一样
4.双标签必须完整
XML格式:
<xml version="1.0" > <Nation> <one> <code>n001</code> <name>汉族</name> </one> <two> <code>n002</code> <name>苗族</name> </two> </Nation>
还是用下拉列表显示Nation表民族名称的例子:
主页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="../jquery-1.11.2.min.js"></script> </head> <body> <select id="sel"></select> </body> </html> <script type="text/javascript"> $(document).ready(function(e) { $.ajax({ url:"chulixml.php", dataType:"XML", //返回XML文档 success: function(data){ //从XML文档中根据标签名找内容,相当于解析页面数据,例如: //$(data).find("code").eq(0).text();//标签名为code的第一个元素的内容 //根据最外层的根nation取到所有内容,再取里面的子元素放入变量ch中 var ch = $(data).find("nation").children(); var str = ""; for(var i=0;i<ch.length;i++) { //从ch中循环出每一条数据的code与name var code = $(ch[i]).find("code").text(); var name = $(ch[i]).find("name").text(); str+="<option value=\'"+code+"\'>"+name+"</option>"; } $("#sel").html(str); } }); }); </script>
处理页面:
<?php include("../DB.class.php"); $db = new DB(); $sql = "select * from Nation"; $attr = $db->Query($sql); //返回XML数据就要写一个XML文档 /*echo "<?xml version=\'1.0\'?>"; */ //XML文档的头可以不写 echo "<nation>"; foreach($attr as $k=>$v) { echo "<shuju{$k}>"; echo "<code>{$v[0]}</code>"; echo "<name>{$v[1]}</name>"; echo "</shuju{$k}>"; } echo "</nation>";
以上是关于调用AJAX返回JSONXML数据类型的主要内容,如果未能解决你的问题,请参考以下文章