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值
}
} });
});