调用AJAX返回JSON、XML数据类型
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返回JSON、XML数据类型的更多相关文章
- jquery 调用ajax返回json
ie调用可以,火狐和chrome皆失败,找了半天原因. 被屏蔽了. 火狐和chrome 对同一个域名不同端口的调用也严格限制,不给调用.只能用jsonp. 查看网络的返回状态,错误信息,F12 很重要 ...
- javascript 解析ajax返回的xml和json格式的数据
写个例子,以备后用 一.JavaScript 解析返回的xml格式的数据: 1.javascript版本的ajax发送请求 (1).创建XMLHttpRequest对象,这个对象就是ajax请求的核心 ...
- 快速掌握Ajax-Ajax基础实例(Ajax返回Json在Java中的实现)
(转)实例二:Ajax返回Json在Java中的实现 转自http://www.cnblogs.com/lsnproj/archive/2012/02/09/2341524.html#2995114 ...
- PHP AJAX 返回JSON 数据
例子:利用AJAX返回JSON数据,间接访问数据库,查出Nation 表,并用下拉列表显示 造一个外部下拉列表框 </select> JQurey代码 $(document).ready( ...
- php返回json,xml,JSONP等格式的数据
php返回json,xml,JSONP等格式的数据 返回json数据: header('Content-Type:application/json; charset=utf-8'); $arr = a ...
- JQuery处理json与ajax返回JSON实例
一.JSON的一些基础知识. JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value). “[]”,标识数组,数组内 ...
- [Javascript,JSON] JQuery处理json与ajax返回JSON实例
转自:http://www.php100.com/html/program/jquery/2013/0905/5912.html [导读] json数据是一种经型的实时数据交互的数据存储方法,使用到最 ...
- (转)JQuery处理json与ajax返回JSON实例
son数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面我来给大家介绍jquery处理json数据方法. 一.JSON的一些基础知识. JSON中对象通过 ...
- jquery ajax返回json数据进行前后台交互实例
jquery ajax返回json数据进行前后台交互实例 利用jquery中的ajax提交数据然后由网站后台来根据我们提交的数据返回json格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...
随机推荐
- int 与 string::length()
今天在代码中遇到这样的问题 ; while (nStart < strTemp.length()) { ... } 感觉自己写的逻辑没有错误,但是,代码执行结果就是不对,结果单步调试到该处发现, ...
- 虚机下Ubuntu与Win7文件共享
使用Samba服务实现虚机与本机的文件共享,简单的分为以下几个步骤,按部就班,so easy 1.安装smb sudo apt-get install samba sudo apt-get insta ...
- Spring MVC可参数化的视图控制器
以下示例显示如何使用Spring Web MVC框架来实现多动作控制器的可参数化视图控制器.可参数化视图允许将请求映射到网页. 所下所示配置 - import javax.servlet.http.H ...
- centos7 virtualbox使用internal network 内网模式
1)打开对应虚拟机的Settings,点开Network, 2)Adapter1如果已经选了挂到Bridged Adapter,则点开Adapter2, 3)选择挂到 Internal Network ...
- db2将原表列notnull属性修改为null属性的方法
今天把自己遇到的一个小问题跟大家分享一下如何修改db2数据库表中列的属性--将列的非空属性改为允许空的属性,修改数据表的某一列属性其实很简单但是里面有需要细节需要dba注意,毕竟数据的安全才是最重要的 ...
- cvsba-1.0.0/utils/test_cvsba.cpp:.......error: ‘numeric_limits’ is not a member of ‘std’... error: expected primary-expression before ‘float’....
cvsba库http://www.uco.es/investiga/grupos/ava/node/39,不知道怎么回事,记得以前编译没有错误,不知道作者是否更新了还是怎么着,新的现在有以下错误: 解 ...
- poj 2226(最小覆盖)
题目链接:http://poj.org/problem?id=2226 思路:将连续的横向水洼看成X集合中的一个点,连续的纵向水洼看成Y集合中的一个点,而将每个水点看成一条边,它连接了所在的X集合中的 ...
- ProgressBar 进度条设置百分比显示
rawable/progressbar <layer-list xmlns:android="http://schemas.android.com/apk/res/android&qu ...
- node.js调用模块
1.新建调用的js 第一种调用没有初始值的模块 var http = require('http'); var User = require('./module/User');//引入的是user模块 ...
- x+=y与x=x+y有什么区别?
一般情况下,x+=y与x=x+y输出结果是等价的,因此两种写法是可以通用的,但是在某些临界值选用x+=y更加合适,比如: short n=3; n+=1;//编译通过 n=n+1;//编译失败 上述例 ...