jQuery ajax - getJSON() 方法
實例
使用 AJAX 請求來獲得 JSON 數(shù)據(jù),并輸出結(jié)果:
$("button").click(function(){ $.getJSON("demo_ajax_json.js",function(result){ $.each(result, function(i, field){ $("div").append(field + " "); }); }); });
定義和用法
通過 HTTP GET 請求載入 JSON 數(shù)據(jù)。
在 jQuery 1.2 中,您可以通過使用 JSONP 形式的回調(diào)函數(shù)來加載其他網(wǎng)域的 JSON 數(shù)據(jù),如 "myurl?callback=?"。jQuery 將自動替換 ? 為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)。 注意:此行以后的代碼將在這個回調(diào)函數(shù)執(zhí)行前執(zhí)行。
語法
jQuery.getJSON(url,data,success(data,status,xhr))
參數(shù) | 描述 |
---|---|
url | 必需。規(guī)定將請求發(fā)送的哪個 URL。 |
data | 可選。規(guī)定連同請求發(fā)送到服務(wù)器的數(shù)據(jù)。 |
success(data,status,xhr) |
可選。規(guī)定當(dāng)請求成功時運行的函數(shù)。 額外的參數(shù):
|
詳細(xì)說明
該函數(shù)是簡寫的 Ajax 函數(shù),等價于:
$.ajax({ url: url, data: data, success: callback, dataType: json });
發(fā)送到服務(wù)器的數(shù)據(jù)可作為查詢字符串附加到 URL 之后。如果 data 參數(shù)的值是對象(映射),那么在附加到 URL 之前將轉(zhuǎn)換為字符串,并進(jìn)行 URL 編碼。
傳遞給 callback 的返回數(shù)據(jù),可以是 JavaScript 對象,或以 JSON 結(jié)構(gòu)定義的數(shù)組,并使用 $.parseJSON() 方法進(jìn)行解析。
示例
從 test.js 載入 JSON 數(shù)據(jù)并顯示 JSON 數(shù)據(jù)中一個 name 字段數(shù)據(jù):
$.getJSON
("test.js", function(json){
alert("JSON Data: " + json.users[3].name);
});
更多示例
例子 1
從 Flickr JSONP API 載入 4 張最新的關(guān)于貓的圖片:
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;
});
});
例子 2
從 test.js 載入 JSON 數(shù)據(jù),附加參數(shù),顯示 JSON 數(shù)據(jù)中一個 name 字段數(shù)據(jù):
$.getJSON
("test.js", { name: "John", time: "2pm" }, function(json){
alert("JSON Data: " + json.users[3].name);
});