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数据)http://www.daimajiayuan.com/test.php
- <?php
- $arr=array("name"=>"代码家园", "url"=>'http://www.daimajiayuan.com/');
- $jarr=json_encode($arr);
- echo $jarr;
注意两点:
第一:在返回客户端之前,先用PHP函数json_encode将要返回的数据进行编码。
第二:返回到客户端用的是echo,而不是return。
下面是核心的客户端代码:
- <script language="javascript" type="text/javascript" src="http://www.daimajiayuan.com/js/jquery.js"></script>
- <script language="javascript" type="text/javascript">
- function getJSON(){
- $.getJSON("http://www.daimajiayuan.com/test.php", {}, 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 获取返回值。
零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。