zoukankan      html  css  js  c++  java
  • 使用Javascript Ajax 通信操作JSON数据 [下]

    上一篇文章我们获得后台数据库的数据后转换成json格式然后返回到前台,但只是返回的一位数组,这次我们返回二维和三维数组和对象。

    前台代码shizhan.html:

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <title>json数据获取</title>
     5     <meta charset="utf-8">
     6     <script src='jquery.js'></script>
     7     <script type="text/javascript">
     8     $("document").ready(function() {
     9         var url="shizhan.php";
    10         var data={"do":"first"};
    11         
    12         $.getJSON(url,data,function(res){
    13             $("#username").val(res.username);
    14             $("#password").val(res.password);
    15         });
    16 
    17         var data={"do":"second"};
    18         $.getJSON(url,data,function(res) {
    19             $("#members").val(res.third.members.username);
    20         });
    21 
    22         var data={"do":"third"};
    23         $.getJSON(url,data,function(res){
    24             $("#address").val(res.address[1].username);
    25         });
    26         
    27     });
    28     </script>
    29 </head>
    30 <body>
    31     <h2>一位数组json数据显示</h2>
    32     <input type="text" name="username" id="username" /><br/>
    33     <input type="password" name="password" id="password">
    34 
    35     <h2>二位数组json数据显示</h2>
    36     <textarea id="members"></textarea>
    37 
    38     <h2>三位数组json数据显示</h2>
    39     <textarea id="address"></textarea>
    40 </body>
    41 </html>

    这里我们用$.getJSON(url,data,callback)来获得我们从url处返回的json格式的数据,注意,$.getJSON()中的JSON必须大写。

    并且这时我们传递给后台的参数不把它放在url的末尾,而是直接放在新定义的data变量中。所以后台程序获取参数时不再使用$_GET[]了,而是使用$_REQUEST[].

    还有一点值得提醒的是,在将返回得到的json格式的数据时,如果后台的二位数组中的第一位是['1'],则我们在前台赋给变量中的数据的格式应为上述代码中的

     $("#address").val(res.address[1].username); ,而不是 $("#address").val(res.address.1.username); ,而如果后台的二维或者是三维数组的第一位是['third']等英文时,则可用上述代码中的 $("#members").val(res.third.members.username); .

      后台代码:

     1 <?php
     2 
     3 $do=$_REQUEST['do'];
     4 
     5 $member['username']='慕课网';
     6 $member['password']='mukewang';
     7 
     8 $members['1']['username']='张三';
     9 $members['1']['password']='zhangsan';
    10 $members['2']['username']='李四';
    11 $members['2']['password']='lisi';
    12 $members['2']['address']='朝阳区';
    13 
    14 $members['third']['members']['username']='我是第三个用户名';
    15 
    16 class addressClass{
    17     public $address = array();
    18 
    19     public function setAddress($array) {
    20         $this->address=$array;
    21     } 
    22 
    23     public function getAddrss() {
    24         return $this->address;
    25     }
    26 }
    27 
    28 $addressObj = new addressClass();
    29 
    30 $addressObj->setAddress($members);
    31 
    32 switch($do) {
    33     case 'first' : echo json_encode($member);break;
    34 
    35     case 'second': echo json_encode($members);break;
    36 
    37     case 'third' : echo json_encode($addressObj);break;
    38 }

        后台代码中我们使用json_encode()函数来将一位数组,二维数组,三位数组和对象转换为json格式的数据。

  • 相关阅读:
    系统角色权限问题
    解析JQuery Ajax
    JavaScriptSerializer序列化时间处理
    Javascript加载talbe(包含分页、数据下载功能)
    代理模式
    工厂模式
    单例模式
    Oracle内置函数
    Oracle大数据SQL语句优化
    Oracle大数据查询优化
  • 原文地址:https://www.cnblogs.com/jacson/p/4684584.html
Copyright © 2011-2022 走看看