Ajax调用json封装代码<dbda.php>:
//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 include("dbda.php"); $db = new DBDA(); $sql = "select * from nation"; echo $db->JsonQuery($sql); ?>
Ajax调用返回的json数据:
<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值 } } }); });