Объект Response

  Response - Интерфейс к "ответу" на запрос доступа к ресурсу (например, методом fetch).
  Экземпляр доступен:

  • В выражении

          new Response([Шаблон][, Опции])

    где:
    • new - Ключевое слово.
    • Response - Ключевое слово.
    • Шаблон - Шаблон, по которому будет создано тело ресурса для этого экземпляра объекта Response.
        Значением может быть строка, экземпляр объекта Blob, экземпляр объекта ArrayBuffer, экземпляр объекта FormData, экземпляр объекта BufferSource, экземпляр объекта URLSearchParams.
    • Опции - Набор опций заданный в любом формате экземпляра объекта.
        Этот объект должен иметь следующие свойства:
      • status – Задаёт значение свойства status.
      • statusText – Задаёт значение свойства statusText.
      • headers – Задаёт значение свойства headers.

  • Как результат - "обещания" извлечения ресурса, инициированного методом fetch.

  • С помощью метода clone.
  Свойства.
  bodyUsed - Содержит значение false если ни один из методов этого экземпляра объекта Response для чтения тела ресурса еще не вызывался, и значение true - в противном случае.
  Значение имеет логический формат.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.bodyUsed

Значения формата записи:

  headers - Содержит ссылку на интерфейс Headers к заголовкам запрошенного ресурса.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.headers

Значения формата записи:

  ok - Содержит логическое значение, соответствующее коду состояния ответа на запрос ресурса.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.ok

Значения формата записи:

  status - Содержит код состояния ответа сервера на запрос ресурса.
  Значение имеет числовой формат.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.status

Значения формата записи:

  statusText - Содержит значение, соответствующее коду состояния ответа на запрос ресурса.
  Значение имеет строковый формат.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.statusText

Значения формата записи:

  type - Содержит тип реагирования сети (не сервера) на запрос ресурса.
  Значение имеет строковый формат.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.type

Значения формата записи:

  • Экземпляр объекта Response - Любой операнд значения со значением экземпляра объекта Response.
  • . - Оператор доступа к свойству объекта.
  • type - Ключевое слово.
      Ссылается на одно из значений:
    • basic - Ресурс может быть доступен полностью, кроме кукисов.
        Такой type обычно возвращает запрос запросивший ресурс, находящийся в рамках той же самой Web-страницы что и документ создавший этот запрос (origin).
    • cors - Только некоторые HTTP заголовки и тело могут быть доступны.
        Такой type обычно возвращает кроссдоменный запрос, вернувший CORS заголовки.
    • error - Ошибка сети. Никакой полезной информации с описанием ошибки нет. Статус ответа - 0. Заголовки пусты.
    • opaque - Нет возможности определить результат выполнения запроса. Статус ответа - 0. Заголовки пусты. Доступа к данным запроса нет.
        Такой type обычно возвращает кроссдоменный запрос, не вернувший CORS заголовки.
  Даже если сеть показала basic, status всё равно может иметь значение большее чем 200 (например, при отсутствии ресурса на сервере).
  url - Содержит URL-адрес запрошенного ресурса.
  Значение имеет строковый формат.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.url

Значения формата записи:

  Методы.
  arrayBuffer - Инициирует "обещание" извлечения тела ресурса в формате arrayBuffer.
  Возвращает ссылку на соответствующий экземпляр объекта Promise.
  Если "обещание" будет выполнено, то оно возвратит ссылку на соответствующий экземпляр объекта ArrayBuffer.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.arrayBuffer()

Значения формата записи:

  blob - Инициирует "обещание" извлечения тела ресурса в формате blob.
  Возвращает ссылку на соответствующий экземпляр объекта Promise.
  Если "обещание" будет выполнено, то оно возвратит ссылку на соответствующий экземпляр объекта Blob.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.blob()

Значения формата записи:

  clone - Создает клон этого экземпляра объекта Response, который полностью идентичен ему.
  Возвращает ссылку на созданный экземпляр объекта Response.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.clone()

Значения формата записи:

  formData - Инициирует "обещание" извлечения тела ресурса в формате formData.
  Возвращает ссылку на соответствующий экземпляр объекта Promise.
  Если "обещание" будет выполнено, то оно возвратит ссылку на соответствующий экземпляр объекта FormData.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.formData()

Значения формата записи:

  json - Инициирует "обещание" извлечения тела ресурса, содержащего данные в формате JSON.
  Возвращает ссылку на соответствующий экземпляр объекта Promise.
  Если "обещание" будет выполнено, то оно возвратит соответствующую строку тела ресурса.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.json()

Значения формата записи:

  text - Инициирует "обещание" извлечения тела ресурса в текстовом формате.
  Возвращает ссылку на соответствующий экземпляр объекта Promise.
  Если "обещание" будет выполнено, то оно возвратит строку с телом ресурса текстовом формате.
  Исходный текст должен быть в коде UTF_8.

Формат записи в коде скрипта:

  • Экземпляр объекта Response.text()

Значения формата записи:

Пример:
<DIV ID="DIVW"></DIV>
<BUTTON ID="Fetch">fetch</BUTTON>
<SCRIPT>
  var Req = null;
  var Fetch = document.getElementById("Fetch");
  var Div = document.getElementById("DIVW");
  var Resp = function(X) { return X.text(); };
  var Ftch = function(X) { Div.innerText = X; };
  var OPP = function(W)
    {
      Req = new Request('../content/txtfetch.txt');
      fetch(Req).then(Resp).then(Ftch);
    };
  Fetch.onclick = OPP;

</SCRIPT>
Результат.
Ещё пример:
<DIV ID="DIVW"></DIV>
<BR><DIV>Заполните форму и "нажмите" соответствующую кнопку.</DIV><BR>
<FORM ACTION="../scriptserver/transfer.php" METHOD="post">
  <INPUT ID="name" TYPE="text" NAME="name" PLACEHOLDER="Имя">
  <INPUT ID="middle_name" TYPE="text" NAME="middle_name" PLACEHOLDER="Отчество">
  <INPUT ID="surname" TYPE="text" NAME="surname" PLACEHOLDER="Фамилия">
  <BR><BR><INPUT TYPE="submit" VALUE="submit">
</FORM>
<BUTTON ID="Fetch">fetch</BUTTON>
<SCRIPT>
  var Req = null;
  var Bod = null;
  var Fetch = document.getElementById("Fetch");
  var Div = document.getElementById("DIVW");
  var Options = null;
  var Name = document.getElementById("name");
  var MiddleName = document.getElementById("middle_name");
  var Surname = document.getElementById("surname");
  var Resp = function(X) { return X.text(); };
  var Ftch = function(X) { Div.innerText = X; };
  var OPP = function(W)
    {
      Bod = "name=" + Name.value + "&middle_name=" + MiddleName.value + "&surname=" + Surname.value;
      Options = {
        method: 'post',
        headers: {"Content-type": "application/x-www-form-urlencoded; charset=UTF-8" },
        body: Bod,
        mode: 'cors',
        cache: 'default'
                };
      Req = new Request('../scriptserver/transfer.php', Options);
      fetch(Req).then(Resp).then(Ftch);
    };
  Fetch.onclick = OPP;

</SCRIPT>
PHP скрипт - transfer.php:
<?php
    $name = $_POST['name'];
    $middle_name = $_POST['middle_name'];
    $surname = $_POST['surname'];
    echo $name;
    echo "<br>";
    echo $middle_name;
    echo "<br>";
    echo $surname;
?>
Результат.

Заполните форму и "нажмите" соответствующую кнопку.