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)

¿ÉÑ¡¡£¹æ¶¨µ±ÇëÇó³É¹¦Ê±ÔËÐеĺ¯Êý¡£

¶îÍâµÄ²ÎÊý£º

  • response - °üº¬À´×ÔÇëÇóµÄ½á¹ûÊý¾Ý
  • status - °üº¬ÇëÇóµÄ״̬
  • xhr - °üº¬ XMLHttpRequest ¶ÔÏó

Ïêϸ˵Ã÷

¸Ãº¯ÊýÊǼòдµÄ 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);
});
VUE