Anfrage: mode-Eigenschaft
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.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die mode
-Eigenschaft der Request
-Schnittstelle enthält den Modus der Anfrage (z.B. cors
, no-cors
, same-origin
oder navigate
). Diese wird verwendet, um zu bestimmen, ob Anfragen über verschiedene Ursprünge zu gültigen Antworten führen und welche Eigenschaften der Antwort lesbar sind.
Um eine Anfrage mit einem spezifischen Modus zu konstruieren, übergeben Sie den gewünschten Wert als RequestInit.mode
-Option an den Request.Request()
-Konstruktor.
Beachten Sie, dass das Festlegen bestimmter Modi, insbesondere no-cors
, Einschränkungen bezüglich der verwendbaren Anfragemethoden und Header mit sich bringt und verhindert, dass JavaScript auf die Antwort-Header oder den -Body zugreift. Siehe die Dokumentation zu RequestInit.mode
für weitere Details.
Wert
Einer der folgenden Werte:
same-origin
-
Verhindert Anfragen über verschiedene Ursprünge. Wenn eine Anfrage mit diesem Modus an einen anderen Ursprung gesendet wird, führt dies zu einem Fehler.
no-cors
-
Deaktiviert CORS für Anfragen über verschiedene Ursprünge. Die Antwort ist undurchsichtig, was bedeutet, dass ihre Header und der Body für JavaScript nicht verfügbar sind.
cors
-
Wenn die Anfrage einen anderen Ursprung hat, wird der Cross-Origin Resource Sharing (CORS)-Mechanismus verwendet.
-
Ein Modus zur Unterstützung der Navigation. Der
navigate
-Wert ist dafür vorgesehen, nur von HTML-Navigation verwendet zu werden. Eine Navigationsanfrage wird nur während der Navigation zwischen Dokumenten erstellt.
Standardmodus
Anfragen können auf verschiedene Weise initiiert werden, und der Modus einer Anfrage hängt von der spezifischen Methode ab, durch die sie initiiert wurde.
Zum Beispiel wird, wenn ein Request
-Objekt mit dem Request()
-Konstruktor erstellt wird, der Wert der mode
-Eigenschaft für diese Request
auf cors
gesetzt.
Für Anfragen, die nicht durch den Request()
-Konstruktor erstellt werden, wird jedoch typischerweise no-cors
als Modus verwendet; beispielsweise für eingebettete Ressourcen, bei denen die Anfrage aus dem Markup initiiert wird. Sofern das crossorigin
-Attribut nicht vorhanden ist, wird die Anfrage in den meisten Fällen im no-cors
-Modus gestellt — das gilt für die <link>
- oder <script>
-Elemente (außer bei Verwendung mit Modulen) oder die <img>
, <audio>
, <video>
, <object>
, <embed>
oder <iframe>
-Elemente.
Beispiele
Im folgenden Ausschnitt erstellen wir eine neue Anfrage mithilfe des Request()
-Konstruktors (für eine Bilddatei im selben Verzeichnis wie das Skript) und speichern dann den Anfragemodus in einer Variablen:
const myRequest = new Request("flowers.jpg");
const myMode = myRequest.mode; // returns "cors" by default
Spezifikationen
Specification |
---|
Fetch Standard # ref-for-dom-request-mode② |
Browser-Kompatibilität
BCD tables only load in the browser