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: "John", time: "2pm" }, function(json){
alert("JSON Data: " + json.users[3].name);
});