Ajax調用json封裝代碼<dbda.php>:javascript
//Ajax調用返回JSON public function JsonQuery($sql,$type=1,$db="mydb") { //定義數據源 $dsn = "mysql:dbname={$db};host={$this->host}"; //造pdo對象 $pdo = new PDO($dsn,"{$this->uid}","{$this->pwd}");
//準備執行SQL語句 $st = $pdo->prepare($sql); //執行預處理語句 if($st->execute()) { if($type==1) { $attr = $st->fetchAll(PDO::FETCH_ASSOC);//返回的關聯的二維數組 return json_encode($attr);//json_encode將一個關聯數組轉化成json數據 } else { if($st) { return "OK"; } else { return "NO"; } } } else { echo "執行失敗!"; } }
PHP處理頁面:php
<?php include("dbda.php"); $db = new DBDA(); $sql = "select * from nation"; echo $db->JsonQuery($sql); ?>
Ajax調用返回的json數據:java
<script type="text/javascript"> $(document).ready(function(e) { $.ajax({ url:"0407ajaxcl.php", data:{}, type:"POST", dataType:"JSON", success: function(data) {
方法一: for(key in data)key//是自定義的變量,能夠隨便修改 { alert(data[key].Name);//輸出的是Niton表中全部的Name值 }
方法二: for(var i=0;i<data.length;i++) { alert(data[i].Name);//輸出的是Niton表中全部的Name值 } } }); });