jQuery ajax - getJSON() 方法
實例
使用 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 將自動替換 ? 為正確的函數名,以執行回調函數。 注意:此行以后的代碼將在這個回調函數執行前執行。
語法
jQuery.getJSON(url,data,success(data,status,xhr))
參數 | 描述 |
---|---|
url | 必需。規定將請求發送的哪個 URL。 |
data | 可選。規定連同請求發送到服務器的數據。 |
success(data,status,xhr) |
可選。規定當請求成功時運行的函數。 額外的參數:
|
詳細說明
該函數是簡寫的 Ajax 函數,等價于:
$.ajax({ url: url, data: data, success: callback, dataType: json });
發送到服務器的數據可作為查詢字符串附加到 URL 之后。如果 data 參數的值是對象(映射),那么在附加到 URL 之前將轉換為字符串,并進行 URL 編碼。
傳遞給 callback 的返回數據,可以是 JavaScript 對象,或以 JSON 結構定義的數組,并使用 $.parseJSON() 方法進行解析。
示例
從 test.js 載入 JSON 數據并顯示 JSON 數據中一個 name 字段數據:
$.getJSON("test.js", function(json){ alert("JSON Data: " + json.users[3].name); });
更多示例
例子 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: "Bill", time: "2pm" }, function(json){ alert("JSON Data: " + json.users[3].name); });