jQuery ajax - getJSON() method
Halimbawa
Gumamit ng AJAX request upang kumuha ng JSON data at ipalabas ang resulta:
$("button").click(function(){ $.getJSON("demo_ajax_json.js",function(result){ $.each(result, function(i, field){ $("div").append(field + " "); ); ); );
Pagsasaayos at paggamit
Ipagkarga ang JSON data sa pamamagitan ng HTTP GET request.
Sa jQuery 1.2, maari kang gumamit ng callback function sa JSONP form sa pagkakarga ng JSON data mula sa ibang domain, tulad ng "myurl?callback=?". Ang jQuery ay awtomatikong papalitan ang ? ng tamang pangalan ng function upang maisagawa ang callback function. Babala: Ang mga sulat na ito ay magsisimula bago maisagawa ang callback function.
Gramata
jQuery.getJSON(url,data,success(data,status,xhr))
Parametro | Paglalarawan |
---|---|
url | Hindi puwedeng iwanan. Batas ang anong URL ang ipapadala ng request. |
data | Pupuntahan. Ang batas na pangungusap sa data na ipapadala sa server. |
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); );