jQuery ajax - метод getJSON()
Пример
Получение JSON данных с помощью AJAX запроса и вывод результатов:
$("button").click(function(){ $.getJSON("demo_ajax_json.js",function(result){ $.each(result, function(i, field){ $("div").append(field + " "); ); ); );
Определение и использование
Загрузка JSON данных через HTTP GET запрос.
В jQuery 1.2 вы можете загружать JSON данные из других доменов, используя формат JSONP с обратными вызовами, например "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().
Пример
Загрузить JSON данные из test.js и показать данные поля name в JSON данных:
$.getJSON("test.js", function(json){ alert("JSON Data: " + json.users[3].name); );
Более примеров
Пример 1
Загрузить 4 самых новых изображения о кошках из JSONP API Flickr:
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); );