.getJSON()

05.03.2023
258
Для получения данных в формате JSON, функция .getJSON() использует метод AJAX (асинхронный JavaScript и XML), который позволяет обновлять данные на веб-странице без перезагрузки страницы.

Функция .getJSON() в jQuery позволяет получить данные в формате JSON с сервера и обработать их на веб-странице. Функция принимает два аргумента: URL-адрес сервера и функцию обратного вызова, которая будет выполнена после получения данных. Если запрос выполнен успешно, функция обратного вызова получает эти данные в виде объекта JavaScript.

Пример 1: Простой запрос на получение данных

$.getJSON('example.json', function(data) {
  console.log(data); // вывод полученных данных в консоль
});

В этом примере мы делаем простой запрос на получение данных из файла example.json. После получения данных мы выводим их в консоль.

Пример 2: Добавление параметров в запрос

$.getJSON('example.json', { name: 'John', age: 30 }, function(data) {
  console.log(data); // вывод полученных данных в консоль
});

В этом примере мы добавляем параметры в запрос. Мы передаем объект с параметрами { name: 'John', age: 30 } вторым аргументом функции .getJSON(). После получения данных мы выводим их в консоль.

Пример 3: Использование метода fail()

$.getJSON('example.json')
  .done(function(data) {
    console.log(data); // вывод полученных данных в консоль
  })
  .fail(function() {
    console.log('Ошибка загрузки данных'); // вывод сообщения об ошибке в консоль
  });

В этом примере мы используем метод .fail() для обработки ошибок при загрузке данных. Если запрос не выполнен успешно, метод .fail() выводит сообщение об ошибке в консоль.

Пример 4: Использование метода always()

$.getJSON('example.json')
  .done(function(data) {
    console.log(data); // вывод полученных данных в консоль
  })
  .fail(function() {
    console.log('Ошибка загрузки данных'); // вывод сообщения об ошибке в консоль
  })
  .always(function() {
    console.log('Загрузка данных завершена'); // вывод сообщения о завершении загрузки в консоль
  });

В этом примере мы используем метод .always() для выполнения дополнительных действий после загрузки данных. Метод .always() вызывается независимо от того, был ли запрос выполнен успешно или нет.

Пример 5: Использование метода then()

$.getJSON('example.json')
  .then(function(data) {
    console.log(data); // вывод полученных данных в консоль в случае успеха
  }, function() {
    console.log('Ошибка загрузки данных'); // вывод сообщения об ошибке в консоль в случае ошибки
  });

В этом примере мы используем метод .then() для обработки результатов запроса. Метод .then() принимает две функции обратного вызова: первая вызывается при успешном выполнении запроса, вторая - при ошибке.

Пример 6: Использование параметра dataType

$.getJSON('example.json', { name: 'John', age: 30 }, function(data) {
  console.log(data); // вывод полученных данных в консоль
}, 'xml');

В этом примере мы используем параметр dataType для указания типа данных, которые мы ожидаем получить. В данном случае мы ожидаем получить данные в формате XML.

Пример 7: Использование параметра timeout

$.getJSON('example.json', function(data) {
  console.log(data); // вывод полученных данных в консоль
}).timeout(5000);

В этом примере мы используем параметр timeout для установки времени ожидания ответа от сервера. Если сервер не ответит в течение 5 секунд, запрос будет прерван.

Пример 8: Использование параметра beforeSend

В этом примере мы используем параметр beforeSend для выполнения дополнительных действий перед отправкой запроса. В данном случае мы выводим сообщение в консоль.

Пример 9: Использование параметра complete

$.ajax({
  url: 'example.json',
  success: function(data) {
    console.log(data); // вывод полученных данных в консоль
  },
  complete: function() {
    console.log('Запрос завершен'); // вывод сообщения о завершении запроса в консоль
  }
});

В этом примере мы используем параметр complete для выполнения дополнительных действий после завершения запроса. В данном случае мы выводим сообщение в консоль.

Пример 10: Использование параметра dataFilter

$.ajax({
  url: 'example.json',
  success: function(data) {
    console.log(data); // вывод полученных данных в консоль
  },
  dataFilter: function(data, type) {
    console.log('Тип данных: ' + type); // вывод сообщения о типе данных в консоль
    return data;
  }
});

В этом примере мы используем параметр dataFilter для обработки полученных данных перед их обработкой функцией обратного вызова. В данном случае мы выводим сообщение о типе полученных данных и возвращаем их без изменений.

Заключение

Функция .getJSON() в jQuery - это мощный инструмент для загрузки данных в формате JSON с сервера и их последующей обработки на веб-странице. Использование функции .getJSON() существенно упрощает взаимодействие с сервером и обработку полученных данных, что делает ее незаменимой при разработке веб-приложений.