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
200
–299
) 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ür200
). 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.
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:
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.
// 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 |