標籤:
以前只是知道json的格式而已,也做過的是從資料庫獲得資料然後弄成json的格式然後賦給HighCharts產生曲線,先把資料庫的資料使用array()函數轉換成數組,然後使用json_encode()函數將數組格式轉換為json格式,從而再傳輸給HighCharts中的代碼,從而產生曲線。 (json_code()和json_encode()的作用是一樣的)
今天加強了json_code()函數和json_decode()函數的學習,通過$.GET()來獲得背景資料然後輸出到前台。
下面是前台client.html的代碼:
1 <html> 2 <head> 3 <title>初始化網站基本資料</title> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width"> 6 <script type="text/javascript" src="jquery.js"></script> 7 </head> 8 <body> 9 <script>10 $("document").ready(function() {11 var url = "server.php?inAjax=1&do=checkMember&username=ericwolf";12 var data={};13 $.get(url,data,function(res) {14 var jsonObj = eval("("+res+")");15 $("#username").val(jsonObj.username);16 $("#groupname").val(jsonObj.groupname);17 $("#uid").val(jsonObj.uid);18 });19 });20 </script>21 22 <div>23 使用者名稱:<input type="text" name="username" id="username">24 <br/>25 會員組:<input type="text" name="groupname" id="groupname">26 <br>27 UID:<input type="text" name="uid" id="uid">28 </body>29 </html>
其中$.GET中的function(res)中的res是返回前台的資料,因為返回後的資料在背景時候已經使用json_code()轉換為json格式了,然後通過jsonObj.username將擷取的資料賦給表單中。
下面是後台server.php的代碼:
1 <?php 2 $inAjax = $_GET[‘inAjax‘]; 3 $do = $_GET[‘do‘]; 4 $do = $do?$do:"default"; 5 if(!$inAjax) return false; 6 7 include ‘db.class.php‘ ; 8 9 switch($do) {10 case "checkMember":11 $username = $_GET[‘username‘];12 $sql = "SELECT * FROM check_member WHERE username=‘$username‘";13 $result = $dbObj->getOne($sql);14 echo (!empty($result))?json_encode($result):"null";15 break;16 case "default":17 die("nothing");18 break;19 }
其中db,class.php是串連資料庫的代碼,還有包含了getOne()函數,這個函數是從資料庫擷取一條資料的函數。
在瀏覽器中輸入client.html後斷行符號,然後在firebug中查看返回的資料如:
點擊該連結後得到:
相應得到資料庫的資料,並返回的格式是json格式。
這時可以看到,原本表單中沒有資料,現在已經有了獲得的資料:
使用Javascript Ajax 通訊操作JSON資料 [上]