Опубликовано admin - вт, 05/01/2018 - 23:40

Начиная с jQuery 1.2, вы можете загружать JSON данные, расположенные на другом домене, если вы указали [ JSONP callback, например так: "myurl?callback=?". jQuery автоматически заменит ? корректным методом вызова, вызывав функцию callback. Примечание: Учтите, что строки кода после данной функции будут выполнены до функции callback.

Данный метод (getJSON) является аналогом следующего метода ajax():

$.ajax({
  url: url,
  dataType: 'json',
  data: data,
  success: callback
});

Пример наиболее подходящий для точного объяснения метода getJSON

$.getJSON('ajax/test.json', function(data) {
  var items = [];

  $.each(data, function(key, val) {
    items.push('<li id="' + key + '">' + val + '</li>');
  });

  $('<ul/>', {
    'class': 'my-new-list',
    html: items.join('')
  }).appendTo('body');
});

Пирмер указнный выше рассчитан на файл json(test.json) следующего типа:

{
  "one": "Значение объекта 1",
  "two": "Значение объекта 2",
  "three": "Значение объекта 3"
}
В данном случае каждый элемент объкета json при помощь метода $.each(), убдут выведены в список, где ключ объекта json будет идентификатором (id), а занчение объекта - текстом элемента li.

Обратите внимание, что при нанличии оишибки в структуре json объета метод не вызовет соответствующий обработчик. Формат json данных является строго структурированным, все строчные данные json объекта должны быть записаны в дваойных кавычках. Параметр textStatus объекта jqXHR всегда будет undefined.


Пример:

Пример:

Пример:

Пример:

На разработку сайта! Скидки до 20%!