调用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格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...
随机推荐
- 使用Crypto++库编译出错 解决办法
错误信息: >------ 已启动生成: 项目: testCrypto++, 配置: Debug Win32 ------ >正在编译... >main.cpp >正在链接.. ...
- iOS敏捷开发之道,经常使用的宏定义总结
iOS开发中,直接在pch文件里导入宏定义. 在做项目的时候,直接拿过来使用,能够大幅度提高开发速度. 以下是 个人总结的一些宏定义. 假设大家有其它的经常使用的宏定义.欢迎加入.我会定期更新这个bl ...
- 彻底解决maven Cannot change version of project facet Dynamic Web Module to 3.0?
这个问题是由于maven默认的jdk和默认的Dynamic Web Module版本问题引起的. 这个问题断断续续解决了复发了,今天找打了一个方法 第一,首先要在maven中配置这个插件 <pl ...
- csla 与高cpu
在项目中一直使用csla 4.13. 项目一直正常,但是偶尔会出现iis占用的cpu 突然100%, 后面客户量大的情况,加入了缓存的机制.100%的情况出现的更多了. 当时有数据库死锁的原因.cpu ...
- Linux 文件管理(C语言库函数三)
找到当前目录 char *getcwd(char * buf,size_t size) getcwd函数把当前工作目录的绝对路径名复制到buf中,size指示buf的大小 如果buf不够大,不能装下整 ...
- Microsoft SQL Server JDBC 驱动程序支持矩阵
本页包含 Microsoft SQL Server JDBC 驱动程序的支持矩阵和支持生命周期策略. Microsoft JDBC 驱动程序支持生命周期矩阵和策略 Microsoft 支持生命周期 ( ...
- Android:SlidingMenu+ListView+ViewPager 的滑动冲突
在项目中遇到了SlidingMenu.ListView.ViewPager 一起使用.而且ViewPager 是放在ListView的header中,这样的情况下会无法滑动ViewPager,通过在网 ...
- gcc 编译 连接 生成可执行文件
gcc c语言编译器 g++ c++编译器 gcc a.c 生成默认的a.out 可执行文件 ./a.out 来执行 gcc -c a.c 编译生成 a.o 目标文件 可以检查语法错误 gcc ...
- 非jsonp解决跨域问题
1.服务器端解决跨域问题:配置filter在filter中设置请求头import java.io.IOException; import javax.servlet.Filter;import jav ...
- Java 基础巩固:装箱拆箱 你真的熟悉吗
先考两道题: Integer a1 = 300; Integer a2 =300; System.out.print(a1 == a2); Integer b1 = 1; Integer b2 = 1 ...