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>";

最新文章

  1. frp配置
  2. NopCommerce 增加 Customer Settings
  3. 隐式意图Intent
  4. centos 6.4下设置输入法
  5. Hibernate之QBC检索和本地SQL检索
  6. hadoop2.2编程: 数据压缩
  7. Android画廊控件之Gallery
  8. Kia&amp;#39;s Calculation(贪心)
  9. oracle解析xml完成版第二次修改
  10. Table中的JCheckBox TableHeader的全选(全反选)功能
  11. WPF 数字小键盘Themes
  12. dbf导入sqlserver的方法
  13. QT 延时函数设置
  14. pseudocode of zigzag conversion
  15. Android基础_web通信3
  16. Elasticsearch之索引模板index template与索引别名index alias
  17. Java课程之团队开发(NABCD需求分析)
  18. docker命令汇总
  19. es6中的对象的可计算的属性名
  20. ActiveMQ实战之 Queue点对点消息

热门文章

  1. linux下调试使用的 一些shell命令
  2. 分布式服务框架 Zookeeper(三)官方入门指南
  3. YII用户注冊和用户登录(二)之登录和注冊在视图通过表单使用YII小物件并分析
  4. C#通过修改注册表改变IE默认选项
  5. Redis遍历所有key的两个命令 -- KEYS 和 SCAN
  6. Linux vi 文件编辑
  7. android 细节之 AndroidRuntimeException:This message is already in use
  8. MFC多国语言——配置文件
  9. dva解读1
  10. Oracle Delete与系统资源