Anforderung
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 Request
Interface der Fetch API repräsentiert eine Ressourcenanfrage.
Sie können ein neues Request
Objekt mit dem Request()
Konstruktor erstellen, aber es ist wahrscheinlicher, dass Sie ein Request
Objekt als Ergebnis einer anderen API-Operation erhalten, wie z. B. einem Service Worker FetchEvent.request
.
Konstruktor
Request()
-
Erstellt ein neues
Request
Objekt.
Instanzeigenschaften
Request.body
Schreibgeschützt-
Ein
ReadableStream
des Inhalts des Körpers. Request.bodyUsed
Schreibgeschützt-
Speichert
true
oderfalse
, um anzuzeigen, ob der Body in einer Anfrage bereits verwendet wurde oder nicht. Request.cache
Schreibgeschützt-
Beinhaltet den Cache-Modus der Anfrage (z. B.
default
,reload
,no-cache
). Request.credentials
Schreibgeschützt-
Beinhaltet einen Wert, der steuert, ob Anmeldeinformationen mit der Anfrage gesendet werden sollen (z. B.
omit
,same-origin
,include
). Der Standardwert istsame-origin
. Request.destination
Schreibgeschützt-
Ein String, der den Typ des angeforderten Inhalts beschreibt.
Request.duplex
Schreibgeschützt Experimentell-
Der Duplex-Modus der Anfrage, der bestimmt, ob der Browser die gesamte Anfrage senden muss, bevor die Antwort verarbeitet wird.
Request.headers
Schreibgeschützt-
Beinhaltet das zugehörige
Headers
Objekt der Anfrage. Request.integrity
Schreibgeschützt-
Beinhaltet den Subresource Integrity Wert der Anfrage (z. B.
sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=
). -
Ein Boolean, der anzeigt, ob die Anfrage eine Verlaufsnavigation ist.
Request.keepalive
Schreibgeschützt-
Beinhaltet die
keepalive
Einstellung der Anfrage (true
oderfalse
), die angibt, ob der Browser die zugehörige Anfrage weiter ausführen soll, wenn die Seite, die sie initiiert hat, vor Abschluss der Anfrage geschlossen wird. Request.method
Schreibgeschützt-
Beinhaltet die Methode der Anfrage (
GET
,POST
, etc.) Request.mode
Schreibgeschützt-
Beinhaltet den Modus der Anfrage (z. B.
cors
,no-cors
,same-origin
,navigate
). Request.redirect
Schreibgeschützt-
Beinhaltet den Modus, wie Umleitungen behandelt werden. Es kann
follow
,error
odermanual
sein. Request.referrer
Schreibgeschützt-
Beinhaltet den Referrer der Anfrage (z. B.
client
). Request.referrerPolicy
Schreibgeschützt-
Beinhaltet die Referrer-Richtlinie der Anfrage (z. B.
no-referrer
). Request.signal
Schreibgeschützt-
Gibt das zugehörige
AbortSignal
der Anfrage zurück. Request.url
Schreibgeschützt-
Beinhaltet die URL der Anfrage.
Instanzmethoden
Request.arrayBuffer()
-
Gibt ein Versprechen zurück, welches sich zu einer
ArrayBuffer
Repräsentation des Anfragekörpers auflöst. Request.blob()
-
Gibt ein Versprechen zurück, welches sich zu einer
Blob
Repräsentation des Anfragekörpers auflöst. Request.bytes()
-
Gibt ein Versprechen zurück, welches sich zu einer
Uint8Array
Repräsentation des Anfragekörpers auflöst. Request.clone()
-
Erstellt eine Kopie des aktuellen
Request
Objekts. Request.formData()
-
Gibt ein Versprechen zurück, welches sich zu einer
FormData
Repräsentation des Anfragekörpers auflöst. Request.json()
-
Gibt ein Versprechen zurück, welches sich mit dem Ergebnis des Parsens des Anfragekörpers als
JSON
auflöst. Request.text()
-
Gibt ein Versprechen zurück, welches sich zu einer Textdarstellung des Anfragekörpers auflöst.
Hinweis: Die Funktionen für den Anfragekörper können nur einmal ausgeführt werden; nachfolgende Aufrufe werden mit einem TypeError abgelehnt, der anzeigt, dass der Body-Stream bereits verwendet wurde.
Beispiele
Im folgenden Code-Schnipsel erstellen wir eine neue Anfrage mit dem Request()
Konstruktor (für eine Bilddatei im selben Verzeichnis wie das Skript) und geben einige Eigenschaftswerte der Anfrage zurück:
const request = new Request("https://www.mozilla.org/favicon.ico");
const url = request.url;
const method = request.method;
const credentials = request.credentials;
Sie könnten diese Anfrage dann abrufen, indem Sie das Request
Objekt als Parameter für einen fetch()
Aufruf übergeben, zum Beispiel:
fetch(request)
.then((response) => response.blob())
.then((blob) => {
image.src = URL.createObjectURL(blob);
});
Im folgenden Code-Schnipsel erstellen wir eine neue Anfrage mit dem Request()
Konstruktor mit einigen Anfangsdaten und einem Body-Inhalt für eine API-Anfrage, die einen Payload benötigt:
const request = new Request("https://example.com", {
method: "POST",
body: '{"foo": "bar"}',
});
const url = request.url;
const method = request.method;
const credentials = request.credentials;
const bodyUsed = request.bodyUsed;
Hinweis:
Der Body kann nur ein Blob
, ein ArrayBuffer
, ein TypedArray
, ein DataView
, ein FormData
, ein URLSearchParams
, ein ReadableStream
oder ein String
Objekt sein, sowie ein Stringliteral, so dass für das Hinzufügen eines JSON-Objekts zum Payload dieses Objekt serialisiert werden muss.
Sie könnten diese API-Anfrage dann abrufen, indem Sie das Request
Objekt als Parameter für einen fetch()
Aufruf übergeben und die Antwort erhalten:
fetch(request)
.then((response) => {
if (response.status !== 200) {
throw new Error("Something went wrong on API server!");
}
return response.json();
})
.then((response) => {
console.debug(response);
// …
})
.catch((error) => {
console.error(error);
});
Spezifikationen
Specification |
---|
Fetch> # request-class> |
Browser-Kompatibilität
Loading…