Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Das RequestInit-Wörterbuch der Fetch API stellt die Menge von Optionen dar, die verwendet werden können, um eine fetch request zu konfigurieren.
Sie können ein RequestInit-Objekt in den Request()-Konstruktor oder direkt in den Funktionsaufruf von fetch() einfügen.
Sie können auch ein Request mit einem RequestInit erstellen und das Request an einen fetch()-Aufruf zusammen mit einem anderen RequestInit übergeben. Wenn Sie dies tun und dieselbe Option an beiden Stellen gesetzt ist, wird der Wert verwendet, der direkt in fetch() übergeben wurde.
Gibt an, dass die Antwort der Anfrage in der Lage sein soll, eine auf JavaScript basierende Attributionquelle oder einen Attribution-Trigger zu registrieren. attributionReporting ist ein Objekt, das die folgenden Eigenschaften enthält:
eventSourceEligibleEin Boolean. Wenn auf true gesetzt, ist die Antwort der Anfrage berechtigt, eine Attributionquelle zu registrieren. Wenn auf false gesetzt, ist es nicht berechtigt.
triggerEligibleEin Boolean. Wenn auf true gesetzt, ist die Antwort der Anfrage berechtigt, einen Attribution-Trigger zu registrieren. Wenn auf false gesetzt, ist es nicht berechtigt.
Weitere Details finden Sie in der Attribution Reporting API.
body OptionalDer Anfrageninhalt enthält den Inhalt, der an den Server gesendet werden soll, beispielsweise in einer POST oder PUT Anfrage. Er wird als Instanz eines der folgenden Typen spezifiziert:
Weitere Details finden Sie unter Setting a body.
browsingTopics OptionalEin Boolean, der angibt, dass die ausgewählten Themen des aktuellen Nutzers in einem Sec-Browsing-Topics Header mit der zugehörigen Anfrage gesendet werden sollten.
cache OptionalDer Cache-Modus, den Sie für die Anfrage verwenden möchten. Dies kann einer der folgenden Werte sein:
defaultDer Browser sucht in seinem HTTP-Cache nach einer Antwort, die der Anfrage entspricht.
Der Browser ruft die Ressource direkt vom Remote-Server ab, ohne zuerst im Cache nachzusehen, und wird den Cache nicht mit der heruntergeladenen Ressource aktualisieren.
reloadDer Browser ruft die Ressource direkt vom Remote-Server ab, ohne zuerst im Cache nachzusehen, wird jedoch den Cache mit der heruntergeladenen Ressource aktualisieren.
no-cacheDer Browser sucht in seinem HTTP-Cache nach einer Antwort, die der Anfrage entspricht.
Der Browser sucht in seinem HTTP-Cache nach einer Antwort, die der Anfrage entspricht.
Der Browser sucht in seinem HTTP-Cache nach einer Antwort, die der Anfrage entspricht.
Der Modus "only-if-cached" kann nur verwendet werden, wenn der mode der Anfrage "same-origin" ist. Zwischengespeicherte Weiterleitungen werden befolgt, wenn die redirect-Eigenschaft der Anfrage "follow" ist und die Weiterleitungen den "same-origin" Modus nicht verletzen.
credentials OptionalSteuert, ob der Browser Anmeldeinformationen mit der Anfrage sendet und ob Set-Cookie Antwort-Header respektiert werden. Anmeldeinformationen sind Cookies, TLS-Client-Zertifikate oder Authentifizierungsheader mit einem Benutzernamen und Passwort. Diese Option kann einer der folgenden Werte sein:
omitSendet niemals Anmeldeinformationen in der Anfrage oder nimmt Anmeldeinformationen in die Antwort auf.
same-originSendet und nimmt Anmeldeinformationen nur für Same-Origin Anfragen auf.
includeEnthält immer Anmeldeinformationen, auch bei Cross-Origin Anfragen.
Das Einbeziehen von Anmeldeinformationen bei Cross-Origin-Anfragen kann eine Website anfällig für CSRF Angriffe machen. Selbst wenn credentials auf include gesetzt ist, muss der Server auch ihrem Einschluss zustimmen, indem er den Access-Control-Allow-Credentials in seiner Antwort einbezieht. Zudem muss der Server in diesem Fall ausdrücklich den Ursprung des Clients im Access-Control-Allow-Origin Antwort-Header angeben (d.h. * ist nicht erlaubt).
Weitere Details finden Sie unter Including credentials.
Standardmäßig auf same-origin.
duplex OptionalSteuert das Duplex-Verhalten der Anfrage. Wenn dies vorhanden ist, muss es den Wert half haben, was bedeutet, dass der Browser die gesamte Anfrage senden muss, bevor er die Antwort verarbeitet.
Diese Option muss vorhanden sein, wenn body ein ReadableStream ist.
headers OptionalAlle Header, die Sie zu Ihrer Anfrage hinzufügen möchten, enthalten in einem Headers Objekt oder einem Objektliterale, dessen Schlüssel die Namen der Header und dessen Werte die Werte der Header sind.
Viele Header werden automatisch vom Browser gesetzt und können nicht durch ein Skript gesetzt werden: Dies sind die sogenannten verbotenen Anfrage-Header.
Wenn die Option mode auf no-cors gesetzt ist, können Sie nur CORS-safelisted request headers setzen.
Weitere Details finden Sie unter Setting headers.
integrity OptionalEnthält den Wert der Subresource Integrity der Anfrage.
Dies wird geprüft, wenn die Ressource abgerufen wird, genauso wie es geprüft würde, wenn das integrity Attribut auf einem <script> Element gesetzt ist. Der Browser berechnet den Hash der abgerufenen Ressource unter Verwendung des angegebenen Algorithmus, und wenn das Ergebnis nicht mit dem angegebenen Wert übereinstimmt, wird der Abrufversuch vom Browser mit einem Netzwerkfehler abgelehnt.
Das Format dieser Option ist <hash-algo>-<hash-source>, wobei:
Standardmäßig ein leerer String.
keepalive OptionalEin Boolean. Wenn er auf true gesetzt ist, wird der Browser die zugehörige Anfrage nicht abbrechen, wenn die Seite, die sie initiiert hat, geladen wird, bevor die Anfrage abgeschlossen ist. Dies ermöglicht es einer fetch()-Anfrage, Analysen am Ende einer Sitzung zu senden, selbst wenn der Benutzer die Seite verlässt oder schließt.
Dies bietet einige Vorteile gegenüber der Verwendung von Navigator.sendBeacon() für denselben Zweck. Zum Beispiel können Sie HTTP-Methoden außer POST verwenden, Anfrageeigenschaften anpassen und auf die Serverantwort über die Erfüllung des Promise fetch zugreifen. Es steht auch in Service Workern zur Verfügung.
Die Körpergröße für keepalive-Anfragen ist auf 64 Kibibyte begrenzt.
Standardmäßig false.
method OptionalDie Anfragemethode.
Standardmäßig GET.
mode OptionalLegt das Cross-Origin-Verhalten für die Anfrage fest. Einer der folgenden Werte:
same-originErlaubt keine Cross-Origin-Anfragen. Wenn eine same-origin-Anfrage an einen anderen Ursprung gesendet wird, ist das Ergebnis ein Netzwerkfehler.
corsWenn die Anfrage Cross-Origin ist, wird der Mechanismus Cross-Origin Resource Sharing (CORS) angewendet. Nur CORS-safelisted response headers werden in der Antwort offengelegt.
no-corsDeaktiviert CORS für Cross-Origin-Anfragen. Diese Option kommt mit den folgenden Einschränkungen:
Die Hauptanwendung für no-cors ist für einen Service Worker: obwohl die Antwort auf eine no-cors-Anfrage nicht von JavaScript gelesen werden kann, kann sie von einem Service Worker zwischengespeichert und dann als Antwort auf eine abgefangene Fetch-Anfrage verwendet werden. Beachten Sie, dass Sie in dieser Situation nicht wissen, ob die Anfrage erfolgreich war oder nicht, daher sollten Sie eine Cache-Strategie anwenden, die es dem zwischengespeicherten Antwort ermöglicht, aus dem Netzwerk aktualisiert zu werden (wie Cache first with cache refresh).
navigateWird nur von HTML-Navigation verwendet. Eine navigate-Anfrage wird nur während der Navigation zwischen Dokumenten erstellt.
Weitere Details finden Sie unter Making cross-origin requests.
Standardmäßig cors.
priority OptionalLegt die Priorität der Fetch-Anfrage im Vergleich zu anderen Anfragen desselben Typs fest. Muss einer der folgenden Werte sein:
highEine Fetch-Anfrage mit hoher Priorität im Vergleich zu anderen Anfragen desselben Typs.
lowEine Fetch-Anfrage mit niedriger Priorität im Vergleich zu anderen Anfragen desselben Typs.
autoKeine Benutzerpräferenz für die Fetch-Priorität. Es wird verwendet, wenn kein Wert gesetzt ist oder ein ungültiger Wert gesetzt ist.
Standardmäßig auto.
privateToken OptionalEin Objekt, das Optionen für die Initiierung einer Private State Token Operation enthält. Mögliche Eigenschaften sind:
issuersEin Array von Strings, das die URLs von Ausstellern enthält, für die Sie Einlösungsdatensätze weiterleiten möchten. Diese Einstellung wird ignoriert, es sei denn, operation ist auf send-redemption-record gesetzt, in diesem Fall muss das issuers Array enthalten sein.
operationEin String, der den Typ der Token-Operation darstellt, die Sie initiieren möchten. Bei Angabe der privateToken-Option ist diese Eigenschaft obligatorisch. Mögliche Werte sind:
token-requestInitiert eine Tokenanfrage Operation.
token-redemptionInitiert eine Token-Einlösung Operation.
send-redemption-recordInitiert eine Send Redemption Record Operation.
refreshPolicyEin enumerierter Wert, der das erwartete Verhalten angibt, wenn ein nicht abgelaufener Einlösungsdatensatz für den aktuellen Benutzer und die aktuelle Website zuvor festgelegt wurde. Diese Einstellung wird ignoriert, es sei denn, operation ist auf token-redemption gesetzt. Mögliche Werte sind:
noneDer zuvor festgelegte Einlösungsdatensatz sollte verwendet und kein neuer ausgegeben werden. Dies ist der Standardwert.
refreshEin neuer Einlösungsdatensatz wird immer ausgegeben.
versionEine Zahl, die die Version des kryptographischen Protokolls angibt, das beim Generieren eines Tokens verwendet werden soll. Derzeit ist dies immer auf 1 gesetzt, was die einzige Version ist, die die Spezifikation unterstützt. Bei Angabe der privateToken-Option ist diese Eigenschaft obligatorisch.
redirect OptionalBestimmt das Verhalten des Browsers im Falle einer Serverantwort mit einem Redirect-Status. Einer der folgenden Werte:
followLeitet Weiterleitungen automatisch weiter.
errorLehnt das Versprechen mit einem Netzwerkfehler ab, wenn ein Weiterleitungsstatus zurückgegeben wird.
manualGibt eine Antwort mit fast allen ausgefilterten Feldern zurück, um einem Service Worker zu ermöglichen, die Antwort zu speichern und später erneut abzuspielen.
Standardmäßig follow.
referrer OptionalEin String, der den Wert angibt, der für den Referer-Header der Anfrage verwendet werden soll. Einer der folgenden:
Eine Same-Origin relative oder absolute URLSetzt den Referer-Header auf den angegebenen Wert. Relative URLs werden relativ zur URL der Seite aufgelöst, die die Anfrage gestellt hat.
Ein leerer StringLässt den Referer-Header weg.
about:clientSetzt den Referer-Header auf den Standardwert für den Kontext der Anfrage (beispielsweise die URL der Seite, die die Anfrage gestellt hat).
Standardmäßig about:client.
referrerPolicy OptionalEin String, der eine Richtlinie für den Referer-Header setzt. Die Syntax und Semantik dieser Option ist genau wie die des Referrer-Policy Headers.
signal OptionalEin AbortSignal. Wenn diese Option gesetzt ist, kann die Anfrage durch Aufrufen von abort() auf dem entsprechenden AbortController abgebrochen werden.
targetAddressSpace OptionalEin enumerierter Wert, der angibt, ob die Anfrage als Loopback-, lokale oder öffentliche Anfrage gedacht ist. Dies steuert, wie der Benutzeragent mit gemischtem Inhalt umgeht. Gültige Werte sind:
localDie Anfrage erfolgt an eine lokale Adresse, die nur im lokalen Netzwerk zugänglich ist; ihr Ziel wird in verschiedenen Netzwerken unterschiedlich sein. Zum Beispiel 192.168.0.1.
loopbackDie Anfrage erfolgt an eine Loopback-Adresse, die nur auf dem lokalen Gerät zugänglich ist; ihr Ziel wird auf jedem Gerät unterschiedlich sein. Zum Beispiel 127.0.0.1, allgemein bekannt als localhost.
publicDie Anfrage erfolgt an eine Adresse, die von überall im Internet zugänglich ist; ihr Ziel ist global auf allen Geräten gleich.
Weitere Informationen finden Sie unter Local Network Access.
In diesem Beispiel übergeben wir die Optionen method, body und headers direkt in die fetch()-Methodenaufruf:
In diesem Beispiel erstellen wir eine Request, übergeben denselben Satz von Optionen in ihren Konstruktor und übergeben die Anfrage dann an fetch():
In diesem Beispiel erstellen wir eine Request, indem wir die Optionen method, headers und body in ihren Konstruktor übergeben. Dann übergeben wir die Anfrage an fetch() zusammen mit den Optionen body und referrer:
In diesem Fall wird die Anfrage mit den folgenden Optionen gesendet:
| Fetch # requestinit |
Der Bauplan für ein besseres Internet.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.