Метод getJSON является специализированным инструментом
для упрощённого выполнения AJAX-запросов с ожидаемым форматом ответа
JSON. Он обеспечивает быструю загрузку данных с сервера и автоматическое
преобразование ответа в JavaScript-объект. В Zepto getJSON
строится поверх метода $.ajax, предоставляя более
лаконичный синтаксис для работы с JSON.
$.getJSON(url [, data] [, success])
Параметры:
url (String) — адрес сервера, к которому отправляется
запрос.data (Object | String) — объект или строка с
параметрами запроса, которые будут сериализованы и добавлены к URL.
Необязательный параметр.success (Function) — функция обратного вызова,
выполняющаяся после успешного получения данных. Принимает один аргумент
— распарсенный JSON-объект.Автоматическая десериализация JSON Ответ сервера
автоматически преобразуется в объект JavaScript. Нет необходимости
вызывать JSON.parse.
Поддержка GET-запросов getJSON
всегда использует метод GET. Для POST-запросов используется
метод $.post или $.ajax с указанием
type: 'POST'.
Лаконичный синтаксис Позволяет сокращать код по
сравнению с использованием полной формы $.ajax.
Базовый пример:
$.getJSON('/api/users', function(data) {
console.log(data);
});
В этом случае отправляется GET-запрос на /api/users.
Ответ автоматически преобразуется в объект и передаётся в функцию
data.
С передачей параметров:
$.getJSON('/api/users', { page: 2, limit: 10 }, function(data) {
console.log(data);
});
Здесь объект { page: 2, limit: 10 } сериализуется в
строку запроса: /api/users?page=2&limit=10.
Обработка ошибок через fail:
$.getJSON('/api/users')
.done(function(data) {
console.log('Данные получены', data);
})
.fail(function(jqxhr, textStatus, error) {
console.error('Ошибка: ', textStatus, error);
});
Метод возвращает объект jqXHR, что позволяет
использовать цепочку .done(), .fail() и
.always() для обработки результата и ошибок.
Content-Type: application/json. Если сервер возвращает
текст, не являющийся JSON, произойдёт ошибка парсинга.$.ajaxgetJSON ограничен GET-запросами и автоматическим
разбором JSON.$.ajax предоставляет полный контроль: выбор метода
(GET, POST), настройку заголовков, таймаутов и
обработки ошибок.getJSON используется для быстрого получения
JSON-данных, когда не требуется сложная конфигурация запроса.const userId = 42;
$.getJSON(`/api/users/${userId}`, function(user) {
console.log(user.name);
});
$.getJSON('/api/products', { category: 'books', sort: 'price' })
.done(function(products) {
products.forEach(p => console.log(p.title, p.price));
});
$.getJSON с цепочкой done и
then:$.getJSON('/api/users')
.then(users => $.getJSON('/api/details', { ids: users.map(u => u.id) }))
.then(details => console.log(details));
Метод getJSON в Zepto обеспечивает минимальный и
эффективный способ получения структурированных данных с сервера,
автоматически обрабатывая десериализацию и позволяя использовать цепочки
обработки результата для удобного и чистого кода.