jQuery ajax - getJSON() metode
Eksempel
Få JSON-data ved hjælp af AJAX-anmodninger og output resultaterne:
$("button").click(function(){ $.getJSON("demo_ajax_json.js",function(result){ $.each(result, function(i, field){ $("div").append(field + " "); ); ); );
Definition og brug
Indlæs JSON-data ved hjælp af HTTP GET-anmodning.
I jQuery 1.2 kan du indlæse JSON-data fra andre domæner ved hjælp af JSONP-formens callback-funktioner, såsom "myurl?callback=?". jQuery vil automatisk erstatte ? med det korrekte funktion navn for at udføre callback-funktionen. Bemærk: Koden herunder vil blive udført før callback-funktionen udføres.
Syntaks
jQuery.getJSON(url,data,success(data,status,xhr))
Parametre | Beskrivelse |
---|---|
url | Obligatorisk. Angiver, hvilken URL anmodningen sendes til. |
data | Valgfri. Angiver data, der sendes sammen med anmodningen til serveren. |
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); );