Response
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since März 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 stellt die Antwort auf eine Anfrage dar.
Sie können ein neues Response-Objekt mit dem Response()-Konstruktor erstellen. Wahrscheinlicher ist jedoch, dass Sie ein Response-Objekt als Ergebnis einer anderen API-Operation erhalten – zum Beispiel in einem Serviceworker über FetchEvent.respondWith oder durch einen einfachen fetch()-Aufruf.
Konstruktor
Response()-
Erstellt ein neues
Response-Objekt.
Instanz-Eigenschaften
Response.bodySchreibgeschützt-
Ein
ReadableStreamder Inhaltsdaten. Response.bodyUsedSchreibgeschützt-
Speichert einen booleschen Wert, der angibt, ob der Inhalt in einer Antwort bereits verwendet wurde.
Response.headersSchreibgeschützt-
Das mit der Antwort verbundene
Headers-Objekt. Response.okSchreibgeschützt-
Ein boolescher Wert, der angibt, ob die Antwort erfolgreich war (Status im Bereich von
200–299). Response.redirectedSchreibgeschützt-
Gibt an, ob die Antwort das Ergebnis einer Umleitung ist (d.h. ob die URL-Liste mehr als einen Eintrag hat).
Response.statusSchreibgeschützt-
Der Statuscode der Antwort. (Dieser ist
200für einen Erfolg). Response.statusTextSchreibgeschützt-
Die Statusmeldung, die dem Statuscode entspricht. (z.B.
OKfür200). Response.typeSchreibgeschützt-
Der Typ der Antwort (z.B.
basic,cors). Response.urlSchreibgeschützt-
Die URL der Antwort.
Statische Methoden
Response.error()-
Gibt ein neues
Response-Objekt zurück, das einem Netzwerkfehler zugeordnet ist. Response.redirect()-
Gibt eine neue Antwort mit einer anderen URL zurück.
Response.json()-
Gibt ein neues
Response-Objekt für die Rückgabe der bereitgestellten JSON-kodierten Daten zurück.
Instanz-Methoden
Response.arrayBuffer()-
Gibt ein Promise zurück, das mit einer
ArrayBuffer-Darstellung des Antwortinhalts aufgelöst wird. Response.blob()-
Gibt ein Promise zurück, das mit einer
Blob-Darstellung des Antwortinhalts aufgelöst wird. Response.bytes()-
Gibt ein Promise zurück, das mit einer
Uint8Array-Darstellung des Antwortinhalts aufgelöst wird. Response.clone()-
Erzeugt eine Kopie eines
Response-Objekts. Response.formData()-
Gibt ein Promise zurück, das mit einer
FormData-Darstellung des Antwortinhalts aufgelöst wird. Response.json()-
Gibt ein Promise zurück, das mit dem Ergebnis des Parsens des Antworttextes als
JSONaufgelöst wird. Response.text()-
Gibt ein Promise zurück, das mit einer Textdarstellung des Antwortinhalts aufgelöst wird.
Beispiele
>Abrufen eines Bildes
In unserem einfachen Fetch-Beispiel (Beispiel live ausführen) verwenden wir einen einfachen fetch()-Aufruf, um ein Bild abzurufen und es in einem <img>-Element anzuzeigen.
Der fetch()-Aufruf gibt ein Promise zurück, das auf das mit der Ressourcenabfrage verbundene Response-Objekt aufgelöst wird.
Da wir ein Bild anfordern, müssen wir Response.blob ausführen, um dem Antwortobjekt seinen korrekten MIME-Typ zuzuweisen.
const image = document.querySelector(".my-image");
fetch("flowers.jpg")
.then((response) => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.blob();
})
.then((blob) => {
const objectURL = URL.createObjectURL(blob);
image.src = objectURL;
})
.catch((error) => {
console.error("Error fetching the image:", error);
});
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 eine JSON-Zeichenfolge 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> |