مетод getJSON() jQuery ajax

مثال

با استفاده از درخواست 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() تجزیه شود.

مثال

JSON داده‌های test.js را بارگذاری کنید و یک فیلد name در داده‌های JSON را نمایش دهید:

$.getJSON("test.js", function(json){
  alert("JSON Data: " + json.users[3].name);
);

مثال‌های بیشتر

مثال 1

4 عکس جدید از فلیکر با استفاده از API JSONP بارگذاری کنید:

کد 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

JSON داده‌های test.js را بارگذاری کنید، پارامترهای اضافی را اضافه کنید و داده‌های یک فیلد name در داده‌های JSON را نمایش دهید:

$.getJSON("test.js", { name: "Bill", time: "2pm" }, function(json){
  alert("JSON Data: " + json.users[3].name);
);