Spec-Zone.ru › Web APIs

Ответ: статический метод json()

Примечание: Эта функция доступна в Потоках Web Workers.

Статический метод json() интерфейса Response возвращает объект Response, содержащий предоставленные данные JSON в теле и заголовок Content-Type, установленный на application/json. Также можно задать код состояния ответа, сообщение состояния и дополнительные заголовки.

Этот метод упрощает создание объектов Response для возврата данных, закодированных в формате JSON. Например, рабочие потоки (service workers) перехватывают запросы fetch, отправляемые браузером, и могут использовать json() для построения объекта Response из кэшированных данных JSON, чтобы вернуть его на основной поток. Метод json() также может использоваться в серверном коде для возврата данных JSON для приложений одностраничного интерфейса и любых других приложений, ожидающих ответ в формате JSON.

Синтаксис

Response.json(data)
Response.json(data, options)

Параметры

data

Данные JSON, которые будут использоваться в качестве тела ответа.

options Необязательно

Объект опций, содержащий настройки для ответа, включая код состояния, текст состояния и заголовки. Это аналогично параметру options конструктора Response().

status

Код состояния ответа, например 200.

statusText

Сообщение состояния, связанное с кодом состояния. Для статуса 200 это может быть OK.

headers

Любые заголовки, которые вы хотите добавить к ответу, содержащиеся в объекте Headers или объекте литерале пары ключ/значение типа String (см. HTTP заголовки для справки).

Значение возврата

Объект Response.

Исключения

TypeError

Возникает, если data нельзя преобразовать в строку JSON. Это может произойти, если данные — это объект JavaScript, имеющий методы, или содержащий циклическую ссылку, или если переданный объект undefined.

Примеры

Ответ с данными JSON

Этот пример показывает, как создать объект ответа JSON и выводит созданный объект для проверки (код логгирования скрыт, так как он не важен).

Ниже приведен код, создающий объект Response с телом JSON { my: "data" } и заголовком, установленным на application/json.

const jsonResponse = Response.json({ my: "data" });
logResponse(jsonResponse);

Объект имеет следующие свойства. Обратите внимание, что тело и заголовок установлены как ожидалось, и значение по умолчанию для статуса равно 200.

Ответ с данными JSON и параметрами

В этом примере показано, как создать объект JSON-ответа с параметрами status и statusText.

Ниже приведен код, создающий объект Response с телом JSON { some: "data", more: "information" } и заголовком, установленным на application/json. Также установлено значение статуса на 307 и соответствующий текст состояния ("Временное перенаправление").

const jsonResponse = Response.json(
  { some: "data", more: "information" },
  { status: 307, statusText: "Temporary Redirect" },
);
logResponse(jsonResponse);

Объект имеет следующие свойства, установленные как ожидалось. Обратите внимание, что свойство ok объекта ответа изменено на false, так как значение статуса не находится в диапазоне от 200 до 299.

Спецификации

Спецификация
Fetch
# ref-for-dom-response-json①

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
json_static 105 105 115 91 17 105 115 72 17 20.0 105

См. также

  • API рабочих потоков (Service Worker)

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Response/json_static

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API