Response

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

* Some parts of this feature may have varying levels of support.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Das Response-Interface der Fetch API repräsentiert die Antwort auf eine Anfrage.

Sie können ein neues Response-Objekt mit dem Response()-Konstruktor erstellen, aber es ist wahrscheinlicher, dass Sie einem Response-Objekt begegnen, das als Ergebnis einer anderen API-Operation zurückgegeben wird — zum Beispiel ein Service Worker FetchEvent.respondWith oder ein einfaches fetch().

Konstruktor

Response()

Erstellt ein neues Response-Objekt.

Instanzeigenschaften

Response.body Schreibgeschützt

Ein ReadableStream des Körperinhalts.

Response.bodyUsed Schreibgeschützt

Speichert einen booleschen Wert, der angibt, ob der Körper in einer Antwort bereits verwendet wurde.

Response.headers Schreibgeschützt

Das Headers-Objekt, das mit der Antwort verbunden ist.

Response.ok Schreibgeschützt

Ein Boolescher Wert, der angibt, ob die Antwort erfolgreich war (Status im Bereich 200299) oder nicht.

Response.redirected Schreibgeschützt

Gibt an, ob die Antwort das Ergebnis einer Weiterleitung ist (das heißt, ihre URL-Liste mehr als ein Eintrag enthält).

Response.status Schreibgeschützt

Der Statuscode der Antwort. (Dies wird 200 bei einem Erfolg sein).

Response.statusText Schreibgeschützt

Die Statusmeldung, die dem Statuscode entspricht. (z.B., OK für 200).

Response.type Schreibgeschützt

Der Typ der Antwort (z.B., basic, cors).

Response.url Schreibgeschützt

Die URL der Antwort.

Statische Methoden

Response.error()

Gibt ein neues Response-Objekt zurück, das mit einem Netzwerkfehler verbunden ist.

Response.redirect()

Gibt eine neue Antwort mit einer anderen URL zurück.

Response.json()

Gibt ein neues Response-Objekt zur Rückgabe der bereitgestellten JSON-kodierten Daten zurück.

Instanzmethoden

Response.arrayBuffer()

Gibt ein Promise zurück, das mit einer ArrayBuffer-Darstellung des Antwortkörpers aufgelöst wird.

Response.blob()

Gibt ein Promise zurück, das mit einer Blob-Darstellung des Antwortkörpers aufgelöst wird.

Response.bytes()

Gibt ein Promise zurück, das mit einer Uint8Array-Darstellung des Antwortkörpers aufgelöst wird.

Response.clone()

Erstellt einen Klon eines Response-Objekts.

Response.formData()

Gibt ein Promise zurück, das mit einer FormData-Darstellung des Antwortkörpers aufgelöst wird.

Response.json()

Gibt ein Promise zurück, das mit dem Ergebnis des Parsens des Antwortkörpertexts als JSON aufgelöst wird.

Response.text()

Gibt ein Promise zurück, das mit einer Textdarstellung des Antwortkörpers aufgelöst wird.

Beispiele

Abfragen eines Bildes

In unserem einfachen fetch-Beispiel (Beispiel live ausführen) verwenden wir einen einfachen fetch()-Aufruf, um ein Bild zu holen und es in einem <img>-Element anzuzeigen. Der fetch()-Aufruf gibt ein Promise zurück, das auf das Response-Objekt aufgelöst wird, das mit der Ressourcenabholoperation verbunden ist.

Da wir ein Bild anfordern, müssen wir Response.blob ausführen, um der Antwort ihren korrekten MIME-Typ zu geben.

js
const image = document.querySelector(".my-image");
fetch("flowers.jpg")
  .then((response) => response.blob())
  .then((blob) => {
    const objectURL = URL.createObjectURL(blob);
    image.src = objectURL;
  });

Sie können auch den Response()-Konstruktor verwenden, um Ihr eigenes benutzerdefiniertes Response-Objekt zu erstellen:

js
const response = new Response();

Ein PHP-Aufruf

Hier rufen wir eine PHP-Programmdatei auf, die einen JSON-String generiert und das Ergebnis als JSON-Wert anzeigt.

js
// Function to fetch JSON using PHP
const getJSON = async () => {
  // Generate the Response object
  const response = await fetch("getJSON.php");
  if (response.ok) {
    // Get JSON value from the response body
    return response.json();
  }
  throw new Error("*** PHP file not found");
};

// Call the function and output value or error message to console
getJSON()
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

Spezifikationen

Specification
Fetch
# response-class

Browser-Kompatibilität

Siehe auch