一、返回Json型数据:

1.主页面

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>无标题文档</title>
  6. <script src="../jquery-1.11.2.min.js"></script>
  7. </head>
  8.  
  9. <body>
  10. <select id="sel">
  11. </select>
  12. </body>
  13. <script type="text/javascript">
  14. $(document).ready(function(e) {
  15.  
  16. $.ajax({
  17. url:"ChuLi.php",
  18. dataType:"JSON",
  19. success: function(data){
  20.  
  21. //alert(data);
  22. var str = "";
  23. for(var k in data)
  24. {
  25. str+="<option value='"+data[k][0]+"'>"+data[k][1]+"</option>";
  26. }
  27.  
  28. $("#sel").html(str);
  29.  
  30. }
  31. });
  32.  
  33. });
  34. </script>
  35. </html>

2.处理页面

  1. <?php
  2.  
  3. include("../DBDA.class.php");
  4. $db = new DBDA();
  5.  
  6. $sql = "select * from Nation";
  7. $attr = $db->Query($sql);
  8.  
  9. echo json_encode($attr);
  10.  
  11. ?>

3.运行结果

二、返回xml数据

XML:页面之间传递数据,跨平台传递

HTML:超文本标记语言,核心标签

1. 什么是XML?

XML(eXtensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。

XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。

XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。

2. XML特点:

1.标签名可以自己定义
2.有且只有一个根
3.大小写敏感
4.标签必须完整

3. XNL书写形式:

  1. <xml version='1.0'>
  2. <Nation>
  3. <one>
  4. <Code>n001</Code>
  5. <name>汉族</name>
  6. </one>
  7. <two>
  8. <code>n002</code>
  9. <name>苗族</name>
  10. </two>
  11. </Nation>

4. 例子:同上面Json的例子

1.主页面  

  1. <head>
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  3. <title>无标题文档</title>
  4. <script src="../jquery-1.11.2.min.js"></script>
  5. </head>
  6.  
  7. <body>
  8. <select id="sel"></select>
  9. </body>
  10. <script type="text/javascript">
  11. $(document).ready(function(e) {
  12.  
  13. $.ajax({
  14. url:"chulixml.php",
  15. dataType:"XML",
  16. success:function(data){
  17.  
  18. var ch = $(data).find("nation").children();
  19. var str = "";
  20. for(var i=0;i<ch.length;i++)
  21. {
  22. var code = $(ch[i]).find("code").text();
  23. var name = $(ch[i]).find("name").text();
  24.  
  25. str+="<option value='"+code+"'>"+name+"</option>";
  26. }
  27. $("#sel").html(str);
  28.  
  29. }
  30. });
  31. });
  32. </script>
  33. </html>

 2. 处理页面

  1. <?php
  2. include("../DBDA.class.php");
  3. $db = new DBDA();
  4.  
  5. $sql = "select * from nation";
  6.  
  7. $attr = $db->Query($sql);
  8.  
  9. echo "<?xml version='1.0'?>";
  10.  
  11. echo "<nation>";
  12.  
  13. foreach($attr as $k=>$v)
  14. {
  15. echo "<shuju{$k}>";
  16.  
  17. echo "<code>{$v[0]}</code>";
  18. echo "<name>{$v[1]}</name>";
  19.  
  20. echo "</shuju{$k}>";
  21. }
  22.  
  23. echo "</nation>";

 3.运行结果

三、Ajax调用返回Json数据,封装类

  1. //Ajax调用返回JSON
  2. public function JsonQuery($sql,$type=1,$db="mydb")
  3. {
  4. //定义数据源
  5. $dsn = "mysql:dbname={$db};host={$this->host}";
  6. //造pdo对象
  7. $pdo = new PDO($dsn,"{$this->uid}","{$this->password}");
  8.  
  9. //准备执行SQL语句
  10. $st = $pdo->prepare($sql);
  11.  
  12. //执行预处理语句
  13. if($st->execute())
  14. {
  15. if($type==1)
  16. {
  17. $attr = $st->fetchAll(PDO::FETCH_ASSOC);
  18. return json_encode($attr);
  19. }
  20. else
  21. {
  22. if($st)
  23. {
  24. return "OK";
  25. }
  26. else
  27. {
  28. return "NO";
  29. }
  30. }
  31.  
  32. }
  33. else
  34. {
  35. echo "执行失败!";
  36. }
  37. }

Ajax调用返回json,xml数据类型(0517--pm)的更多相关文章

  1. dbda封装类(包括:返回二维数组、Ajax调用返回字符串、Ajax调用返回JSON)

    <?php class DBDA { public $host = "localhost"; public $uid = "root"; public $ ...

  2. Ajax--json(Ajax调用返回json封装代码、格式及注意事项)

    Ajax调用json封装代码<dbda.php>: //Ajax调用返回JSON public function JsonQuery($sql,$type=1,$db="mydb ...

  3. jquery ajax调用返回json格式数据处理

    Ajax请求默认的都是异步的 如果想同步 async设置为false就可以(默认是true) var html = $.ajax({ url: "some.php", async: ...

  4. SpringMVC 避免IE执行AJAX时,返回JSON出现下载文件

    <?xml version="1.0" encoding="UTF-8"?> <!-- SpringMVC配置文件 --> <be ...

  5. spring mvc 避免IE执行AJAX时,返回JSON出现下载文件

    <!-- 避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" c ...

  6. php返回json,xml,JSONP等格式的数据

    php返回json,xml,JSONP等格式的数据 返回json数据: header('Content-Type:application/json; charset=utf-8'); $arr = a ...

  7. 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法

    在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...

  8. AJAX请求,返回json进行页面绑值

    AJAX请求,返回json进行页面绑值 后台 controller @RequestMapping(value = "backjson.do",method=RequestMeth ...

  9. Struts2+Jquery实现ajax并返回json类型数据

    来源于:http://my.oschina.net/simpleton/blog/139212 摘要 主要实现步骤如下: 1.JSP页面使用脚本代码执行ajax请求 2.Action中查询出需要返回的 ...

随机推荐

  1. mysql优化 - mysql 的 hint

    FORCE INDEX 强制索引 只使用建立在field1上的索引,而不使用其它字段上的索引. SELECT * FROM table1 FORCE INDEX (field1) IGNORE IND ...

  2. IOS动画总结

    IOS动画总结   一.基本方式:使用UIView类的UIViewAnimation扩展 + (void)beginAnimations:(NSString *)animationID context ...

  3. 安卓4.2原生rom状态栏显示运营商

    前言:要调整状态栏布局,需反编译systemui.apk.单卡机修改status_bar.xml和signal_cluster_view.xml,双卡机修改gemini_status_bar.xml和 ...

  4. How systems researchers build systems

    Define the problem >>Identify the constraints and abstract problem propose solution:simple ide ...

  5. jboss部署应用

    简单的部署应用. 第一种方法是直接写JSP代码,然后放到指定的WAR文件夹中. 第二种,是同时META-INF下的application.xml文件,然后用JAR -CF编成WAR,再集合JSP形成E ...

  6. delphi 程序窗体及控件自适应分辨率(通过ComponentCount遍历改变字体大小以及上下左右)

    unit untFixForm; interface uses Classes, SysUtils, Controls, Forms; type TFontedControl = class(TCon ...

  7. VS2008 运行VC\Bin下的link.exe, cl.exe, lib.exe提示找不到mspdb80.dll的解决方法

    天在用link.EXE的LIB命令生成用于连接(LINK)使用的lib文件时提示:找不到mspdb80.dll. 原因:Microsoft Visual Studio\VC\Bin\下没有 “msob ...

  8. 【HDOJ】4515 小Q系列故事——世界上最遥远的距离

    简单题目,先把时间都归到整年,然后再计算.同时为了防止减法出现xx月00日的情况,需要将d先多增加1,再恢复回来. #include <cstdio> #include <cstri ...

  9. COJ 0995 WZJ的数据结构(负五)区间操作

    WZJ的数据结构(负五) 难度级别:C: 运行时间限制:1000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 请你设计一个数据结构,完成以下功能: 给定一个大小为 ...

  10. 笔记:java并发编程实践1

    Java 5.0 adds ConcurrentHashMap, a replacement for synchronized hash-based Map implementations, and ...