
jQuery中常用getJSON来通过 HTTP GET 请求载入 JSON 数据,将其转换为JSON对象,如果成功,则执行回调函数。原型如下:
jQuery.getJSON( url, [data], [callback] 跨域加载JSON数据。
url: 必需。规定将请求发送的哪个 URL
data : 可选。规定连同请求发送到服务器的数据
callback: (可选 载入成功时的回调函数
该函数是简写的 Ajax 函数,等价于:
$.ajax({
url: url,
data: data,
success: callback,
dataType: json
};
注意:该函数以后的代码将在这个回调函数执行前执行。
下面通过一个简单示例说明:
(1)定义的服务器脚本文件(返回JSON数据)https://www.feishuai.vip/test.php 源代码如下:
<?php
$jarr='';
if($_GET['userid']==23&&$_GET['username']=='sfjvip'{
$arr=array("name"=>"php程序员教程网", "url"=>'https://www.feishuai.vip/';
$jarr=json_encode($arr;
}
echo $jarr;
注意两点:
第一:在返回客户端之前,先用PHP函数json_encode将要返回的数据进行编码。
第二:返回到客户端用的是echo,而不是return。
下面是核心的客户端代码:
<script language="javascript" type="text/javascript" src="https://www.feishuai.vip/js/jquery.js"></script>
<script language="javascript" type="text/javascript">
function getJSON({
$.getJSON("https://www.feishuai.vip/test.php", {userid:'23',username:'sfjvip'}, function(response{
alert(response.url;
};
}
</script>
<input type="button" name="btn" id="btn" value="test" onClick="javascript:getJSON(;"/>
由于在PHP中是用JSON编码返回值,所以此处必须用getJSON去调用PHP文件,从而获取数据。同时可以注意到,经由getJSON得到的数据已经变成了一个对象数组,可以直接使用 response.name,response.url 获取返回值。