zoukankan      html  css  js  c++  java
  • Ajax调用返回json,xml数据类型(0517--pm)

    一、返回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>
    View Code

    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 
    12 
    13 ?>
    View Code

    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>
    View Code

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

     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         
    10         //准备执行SQL语句
    11         $st = $pdo->prepare($sql);
    12         
    13         //执行预处理语句
    14         if($st->execute())
    15         {
    16             if($type==1)
    17             {
    18                 $attr = $st->fetchAll(PDO::FETCH_ASSOC);
    19                 return json_encode($attr);
    20             }
    21             else
    22             {
    23                 if($st)
    24                 {
    25                     return "OK";
    26                 }
    27                 else
    28                 {
    29                     return "NO";
    30                 }
    31             }
    32             
    33         }
    34         else
    35         {
    36             echo "执行失败!";
    37         }
    38     }
    39     
    View Code
  • 相关阅读:
    依赖单元测试开发
    今天晚上的遭遇
    设计,UML,测试驱动开发
    我是LIGHT的LP,今天由我代笔
    转贴一篇关于BitVector32的Blog
    看牙记
    调整过的书籍目录
    Queue和Stack的学习代码
    BitVector32结构学习
    Visual Studio 2008 在64位操作系统上调试代码的解决方式
  • 原文地址:https://www.cnblogs.com/ds-3579/p/5506682.html
Copyright © 2011-2022 走看看