Response
Die Response
Schnittstelle der Fetch API stellt die Antwort auf eine Anfrage dar.
Sie können ein neues Response
-Objekt mithilfe des Konstruktors Response.Response()
erstellen. Es ist jedoch wahrscheinlicher, dass Sie ein Response-Objekt als Rückgabewert einer API Operation erhalten, z. B. durch einen Service Worker Fetchevent.respondWith
(en-US) oder ein simples GlobalFetch.fetch()
(en-US).
Konstruktor
Response()
- Erstell ein neues
Response
Objekt.
Eigenschaften
Response.headers
(en-US) Schreibgeschützt- Enthält das
Headers
(en-US) Objekt der Antwort. Response.ok
(en-US) Schreibgeschützt- Enthält einen boolschen Wert, ob die anfrage Erfolgreich war (Status im Bereich von 200-299) oder nicht.
Response.redirected
(en-US) Schreibgeschützt- Gibt an, ob die Antwort das Ergebnis einer Weiterleitung ist, d. h. die URL-Liste enthält mehrere Einträge.
Response.status
(en-US) Schreibgeschützt- Enthält den Status-Code der Antwort (z. B.
200
bei Erfolg). Response.statusText
(en-US) Schreibgeschützt- Enthält die Statusmeldung, die dem Statuscode entspricht (z. B.
OK
für200
). Response.type
(en-US) Schreibgeschützt- Enthält den Typ der Antwort (z. B.
basic
,cors
). Response.url
(en-US) Schreibgeschützt- Enthält die URL der Antwort.
Response.useFinalURL
- Enthält einen booleschen Wert, der angibt, ob dies die endgültige URL der Antwort ist.
Response
implementiert Body
, daher stehen darüber hinaus auch folgende Eigenschaften zur Verfügung:
Body.body
(en-US) Schreibgeschützt- Ein einfacher Getter, der verwendet wird, um einen
ReadableStream
des Body-Inhalts verfügbar zu machen. Body.bodyUsed
(en-US) Schreibgeschützt- Speichert einen
Boolean
(en-US), der angibt, ob der Body bereits in einer Antwort verwendet wurde.
Methoden
Response.clone()
(en-US)- Klont
Response
Objekt. Response.error()
(en-US)- Gibt ein neues
Response
Objekt zurück, das einem Netzwerkfehler zugeordnet ist. Response.redirect()
(en-US)- Erstellt eine neue Antwort mit einer anderen URL.
Response
implementiert Body
, daher stehen darüber hinaus auch folgende Methoden zur Verfügung:
Body.arrayBuffer()
(en-US)- Nimmt einen
Response
Stream und liest ihn bis zum Ende. Gibt ein Promise zurück, welches in einenArrayBuffer
aufgelöst wird. Body.blob()
(en-US)- Nimmt einen
Response
Stream und liest ihn bis zum Ende. Gibt ein Promise zurück, welches in einenBlob
aufgelöst wird. Body.formData()
(en-US)- Nimmt einen
Response
Stream und liest ihn bis zum Ende. Gibt ein Promise zurück, welches in einenFormData
Objekt aufgelöst wird. Body.json()
(en-US)- Nimmt einen
Response
Stream und liest ihn bis zum Ende. Gibt ein Promise zurück, welches den Inhalt des Body alsJSON
einliest. Body.text()
(en-US)- Nimmt einen
Response
Stream und liest ihn bis zum Ende. Gibt ein Promise zurück, welches in einenUSVString
(Text) aufgelöst wird.
Beispiele
In unserem grundlegenden Beispiel zu Fetch (Beispiel live ausführen) verwenden wir einen einfachen Aufruf von fetch()
, um ein Bild abzurufen und es in einem <img>
Tag anzuzeigen. Der Aufruf von fetch()
gibt ein Promise zurück, das zu einem Response Objekt aufgelöst wird, welches mit der Anforderung der Ressource verknüpft ist. Da wir ein Bild anfordern, werden Sie feststellen, dass wir Body.blob
(en-US) ausführen müssen (Response
implementiert Body
), um der Antwort den richtigen MIME-Type zuzuordnen.
const image = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
return response.blob();
}).then(function(blob) {
const objectURL = URL.createObjectURL(blob);
image.src = objectURL;
});
Sie können auch den Response.Response()
Konstruktor verwenden, um Ihr eigenes benutzerdefiniertes Response
Objekt zu erstellen:
const response = new Response();
Spezifikationen
Specification | Status | Comment |
---|---|---|
Fetch Die Definition von 'Response' in dieser Spezifikation. |
Lebender Standard | Initial definition |
Browserkompatibilität
BCD tables only load in the browser