jQuery中常用getJSON来调用并获取远程的JSON字符串,将其转换为JSON对象,如果成功,则执行回调函数。原型如下:
jQuery.getJSON( url, [data], [callback] ) 跨域加载JSON数据。
url: 发送请求的地址
url: 发送请求的地址
data : (可选) 待发送key/value参数
callback: (可选) 载入成功时的回调函数
主要用于客户端获取服务器JSON数据。简单示例:
服务器脚本,返回JSON数据:
getJSON.php
<?php
$arr=array("name"=>"zhangsan", "age"=>20);
$jarr=json_encode($arr);
echo $jarr;
?>
注意两点:
第一:在返回客户端之前,先用PHP函数json_encode将要返回的数据进行编码。
第二:返回到客户端用的是echo,而不是return。
下面是客户端代码:
<html>
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script>
<!-- <script src="js/jquery-1.8.3.min.js"></script> -->
<script language="javascript" type="text/javascript">
$(function(){
getjs();
function getjs()
{
$.getJSON("getJSON.php", function(response){
alert(response.age);
});
}
});
function getjs()
{
$.getJSON("getJSON.php", function(response){
alert(response.age);
});
}
</script>
</head>
<body>
<input type="button" name="btn" id="btn" value="test" onClick="javascript:getjs();"/>
</body>
</html>
由于在PHP中是用JSON编码返回值,所以此处必须用getJSON去调用PHP文件,从而获取数据。同时可以注意到,经由getJSON得到的数据已经变成了一个对象数组,可以用response.name,response.age很直观的获取返回值。
参考自:
http://katrina.blog.51cto.com/709863/144721/
http://blog.163.com/yong5123@126/blog/static/4551606220111221203402/