Ответ: статический метод 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 |
См. также
© 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