實例
從 test.js 載入 JSON 數據並顯示 JSON 數據中一個 name 字段數據:
代碼如下:
$.getJSON("test.js", function(json){
alert("JSON Data: " + json.users[3].name);
});
定義和用法
通過 HTTP GET 請求載入 JSON 數據。
在 jQuery 1.2 中,您可以通過使用 JSONP 形式的回調函數來加載其他網域的 JSON 數據,如 "myurl?callback=?"。jQuery 將自動替換 ? 為正確的函數名,以執行回調函數。 注意:此行以後的代碼將在這個回調函數執行前執行。
語法
jQuery.getJSON(url,[data],[callback])
參數 描述
url 待載入頁面的 URL 地址。
data 待發送 Key / value 參數。
callback 載入成功時執行的回調函數。
詳細說明
該函數是簡寫的 Ajax 函數,等價於:
代碼如下:
$.ajax({
url: url,
data: data,
success: callback,
dataType: json
});
發送到服務器的數據可作為查詢字符串附加到 URL 之後。如果 data 參數的值是對象(映射),那麼在附加到 URL 之前將轉換為字符串,並進行 URL 編碼。
傳遞給 callback 的返回數據,可以是 JavaScript 對象,或以 JSON 結構定義的數組,並使用 $.parseJSON() 方法進行解析。
更多實例
例子 1
從 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;
});
});
例子 2
從 test.js 載入 JSON 數據,附加參數,顯示 JSON 數據中一個 name 字段數據:
代碼如下:
$.getJSON("test.js", { name: "John", time: "2pm" }, function(json){
alert("JSON Data: " + json.users[3].name);
});