jQuery Ajax:$.getJSON()方法

 

主要参考:

《锋利的jQuery》单东林、张晓菲、魏然

www.3cschool.com.cn《jQuery 参考手册 - Ajax》

 

搜集整理:sagahu@163.com

 

简单示例:使用 AJAX 请求来获得 JSON 数据,并输出结果

 

$("button").click(function(){

       $.getJSON("demo_ajax_json.js", function(result){

              $.each(result, function(i, field){

                     $("div").append(field + " ");

              });

       });

});

 

定义

 

通过 HTTP GET 请求载入 JSON 数据。

 

在 jQuery 1.2 中,您可以通过使用 JSONP 形式的回调函数来加载其他网域的 JSON 数据,如 "myurl?callback=?"。jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。 注意:此行以后的代码将在这个回调函数执行前执行。

 

语法

 

$.getJSON(url, data, callback)

 

参数

说明

url

必需。规定要将请求发送到哪个 URL。

data

可选。规定连同请求发送到服务器的数据。

callback的语法:

function(data, status, xhr)

可选。规定当载入成功时的回调函数。

回调函数参数:

    data - 包含来自请求的结果数据。

    status - 包含请求的状态("success", "notmodified", "error", "timeout" 或 "parsererror" 4种)。

    xhr -包含 XMLHttpRequest 对象。

返回值

XMLHttpRequest

 

详细说明

 

该函数是简写的 Ajax 函数,等价于:

 

$.ajax({

  url: url,

  data: data,

  success: callback,

  dataType: json

});

 

发送到服务器的数据可作为查询字符串附加到 URL 之后。如果 data 参数的值是对象(映射),那么在附加到 URL 之前将转换为字符串,并进行 URL 编码。

 

传递给 callback 的返回数据,可以是 JavaScript 对象,或以 JSON 结构定义的数组,并使用 $.parseJSON() 方法进行解析。

 

示例:从 Flickr JSONP API 载入 4 张最新的关于猫的图片

 

HTML 代码:

 

<div id="images"></div>

 

jQuery 代码:

 

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?", function(data){

  $.each(data. items,  function(i, item){

    $("<img/>").attr("src", item.media.m).appendTo("#images");

    if ( i == 3 ) return false;

  });

});

 

示例:从 test.js 载入 JSON 数据,附加参数,显示 JSON 数据中一个 name 字段数据

 

$.getJSON("test.js", { name: "John", time: "2pm" }, function(json){

  alert("JSON Data: " + json.users[3].name);

});

 

posted on 2012-11-07 01:52  萨迦狐  阅读(134)  评论(0)    收藏  举报