Anforderung abrufen – bereichsbezogen, global
Die API zum Abrufen von Anforderungen enthält Methoden zum Erstellen oder Abrufen eines Anforderungsobjekts, damit Anwendungen Ressourcen wie JSON-, Text- oder Binärdaten asynchron von einem Server anfordern und die Antwort verarbeiten können. Diese API unterstützt verschiedene HTTP-Methoden wie GET, POST, PUT, DELETE usw.
- Abrufen – abrufen (Zeichenfolgenressource, Objektoptionen): Starten Sie den Prozess zum Abrufen einer Ressource aus dem Netzwerk.
- Header abrufen : bereichsbezogen, global: Anforderungs- und Antwortheader abrufen und ändern.
- Anforderung abrufen – bereichsbezogen, global: Erstellen Sie ein neues Anforderungsobjekt.
- RequestInit abrufen : Bereichsbezogen, global: Legen Sie Optionen zum Konfigurieren einer Abrufanforderung fest.
- Antwort abrufen – bereichsbezogen, global: Erstellen Sie ein neues Antwortobjekt.
Zur Unterstützung von Abrufaktionen ermöglicht die Systemeigenschaft glide.hosts.allowlistdie Steuerung, auf welche Hosts eine Abrufmethode zugreifen kann. Sie gilt für HTTP-APIs wie RestMessageV2 und die oben genannten. Weitere Informationen zu glide.hosts.allowlistfinden Sie unter Available system properties.
Anforderungseigenschaften
Die Abrufanforderungs -API unterstützt mehrere schreibgeschützte Eigenschaften, die detaillierte Informationen zu einer HTTP-Anforderung enthalten. Einige davon sind URL (die URL der Anforderung), Methode (die HTTP-Methode), Header (die zugehörigen Header) und Text (der Anforderungstext als Stream). Andere Eigenschaften umfassen Einstellungen für Caching, Anmeldeinformationen und Referrer. Diese Eigenschaften sind schreibgeschützt. Das heißt, sie können aufgerufen, aber nicht geändert werden, nachdem die Anforderung erstellt wurde. Weitere Informationen zu den einzelnen Eigenschaften finden Sie unter https://developer.mozilla.org/en-US/docs/Web/API/Request.
| Eigenschaftsname | Beschreibung | Beispiel |
|---|---|---|
| body | Schreibgeschützte Eigenschaft. Enthält einen lesbaren Stream von Bytedaten mit dem Textinhalt, der der Anforderung hinzugefügt wurde. Datentyp/-wert: ReadableStream oder NULL |
|
| „bodyUsed“ | Schreibgeschützte Eigenschaft. Kennzeichnung, die angibt, ob der Anforderungstext bereits gelesen wurde. Akzeptierter Wert:
Datentyp: Boolesch |
|
| Cache | Schreibgeschützte Eigenschaft. Enthält den Cache-Modus der Anforderung, der steuert, wie die Anforderung mit dem HTTP-Cache des Browsers interagiert. Akzeptierte Werte:
Datentyp: Zeichenfolge |
|
| Anmeldeinformationen | Schreibgeschützt. Spiegelt den Wert wider, der dem Request()- Konstruktor in der Option für Anmeldeinformationen angegeben wurde. Anmeldeinformationen sind Cookies, TLS-Client-Zertifikate oder Authentifizierungsheader, die einen Anwendernamen und ein Passwort enthalten. Akzeptierte Werte:
Datentyp: Zeichenfolge |
|
| destination | Schreibgeschützt. Gibt eine Zeichenfolge zurück, die den Typ des angeforderten Inhalts beschreibt. Akzeptierte Werte:
Datentyp: Zeichenfolge |
|
| headers | Schreibgeschützt. Das Header-Objekt, das der Anforderung zugeordnet ist. Datentyp: Headerobjekt |
|
| Integrität | Schreibgeschützt. Der Integritätswert der Unterressourcen der Anforderung. Wert: Der Wert, der beim Erstellen der Anforderung als Argument options.integrity übergeben wurde. Wenn keine Integrität angegeben wurde, gibt die Eigenschaft |
|
| isHistoryNavigation | Schreibgeschützt. Boolescher Wert, der angibt, ob es sich bei der Anforderung um eine Verlaufsnavigation handelt. Akzeptierte Werte:
Datentyp: Boolesch |
|
| Keepalive | Schreibgeschützt. Die Keepalive-Einstellung der Anforderung (wahr oder falsch). Gibt eine leere Zeichenfolge zurück, wenn in der Anforderung kein Integritätswert übergeben wird. Akzeptierte Werte:
Datentyp: Boolesch |
|
| method | Schreibgeschützt. Die Methode der Anforderung (GET, POSTusw.)Datentyp: Zeichenfolge |
|
| Modus | Schreibgeschützt. Modus der Anforderung. Wird verwendet, um zu bestimmen, ob ursprungsübergreifende Anforderungen zu gültigen Antworten führen und welche Eigenschaften der Antwort lesbar sind. Akzeptierte Werte:
Anforderungen können auf verschiedene Arten initiiert werden. Der Modus für eine Anforderung hängt davon ab, auf welche Weise sie initiiert wurde. Wenn beispielsweise ein Request-Objekt mit dem Request()- Konstrukteur erstellt wird, wird der Wert der Eigenschaft „mode“ für diesen Request auf „cors“ festgelegt. Für Anforderungen, die nicht durch die Anforderung ()erstellt wurden Konstrukteur, wird normalerweise ohne Kors als Modus verwendet. Beispiel: Bei eingebetteten Ressourcen, bei denen die Anforderung über Markup initiiert wird, erfolgt die Anforderung, sofern das Crossorigin-Attribut nicht vorhanden ist, in den meisten Fällen im No-Cors-Modus, d. h. für <link> oder <script> elements (except when used with modules), or <img>, <audio>,<video>, <object>, <embed>, or <iframe> elements. Datentyp: Zeichenfolge |
|
| umleiten | Schreibgeschützt. Modus für die Behandlung von Umleitungen. Gültige Werte:
Datentyp: Zeichenfolge Standard: Folgen |
|
| Referrer | Schreibgeschützt. Der Referrer der Anforderung (z. B. Client, No-Referreroder eine URL). Der Wert „no-referrer“ gibt eine leere Zeichenfolge zurück.Datentyp: Zeichenfolge |
|
| ReferrerPolicy | Schreibgeschützt. Die Referrer-Richtlinie, die steuert, welche Referrer-Informationen im Referrer-Header mit der Anforderung gesendet werden. Datentyp: Zeichenfolge |
|
| signal | Schreibgeschützt. AbortSignal, das der Anforderung zugeordnet ist. Datentyp: Zeichenfolge |
|
| URL | Schreibgeschützt. URL der Anforderung. Datentyp: Zeichenfolge |
|
Anforderung abrufen – Request()
Erstellt ein neues Anforderungsobjekt. Erstellen Sie das Anforderungsobjekt optional über eine URL oder eine Objektressource.
| Name | Typ | Beschreibung |
|---|---|---|
| Eingabe | Zeichenfolge oder Objekt | Optional. Die abzurufende Ressource. Gültige Werte:
|
| Optionen | Objekt | Optional. Ein RequestInit abrufen : Bereichsbezogen, global -Objekt mit anwenderdefinierten Einstellungen, die auf die Anforderung angewendet werden sollen. Wenn Sie eine neue Anforderung aus einer vorhandenen Anforderung erstellen, überschreiben die in der neuen Anforderung festgelegten Optionen die entsprechenden Optionen in der ursprünglichen Anforderung. Standard: Gibt Standardwerte für alle Eigenschaften zurück. |
Das folgende Beispiel zeigt, wie Sie mit dem Request()- Konstrukteur ein neues Request-Objekt erstellen.
var myImage = document.querySelector("img");
var myRequest = new Request("flowers.jpg");
Das folgende Beispiel zeigt, wie Sie das neue Anforderungsobjekt mithilfe des Eingabeparameters erstellen, um eine URL oder ein Objekt abzurufen.
var myImage = document.querySelector("img");
var myRequest = new Request("flowers.jpg");
fetch(myRequest)
.then((response) => response.blob())
.then((response) => {
var objectURL = URL.createObjectURL(response);
myImage.src = objectURL;
});
Das folgende Beispiel zeigt, wie das neue Request-Objekt mit Header-Optionen mithilfe eines Objektliterals erstellt wird.
var myImage = document.querySelector("img");
var myRequest = new Request("flowers.jpg");
var options = {
headers: {
"Cache-Control": "max-age=60480",
},
};
Anforderung abrufen – arrayBuffer()
Liest den Anforderungstext und gibt ihn als Zusage zurück, der mit einem Array-Puffer aufgelöst wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zusage | Ein Prompt, das mit einem arrayBufferaufgelöst wird. |
Im Folgenden wird gezeigt, wie Sie mit der arrayBuffer()- Methode eine neue Anforderung erstellen.
var myArray = new Uint8Array(10);
var request = new Request("/myEndpoint", {
method: "POST",
body: myArray,
});
request.arrayBuffer().then((buffer) => {
// perform an action with the buffer sent in the request
});
Anforderung abrufen – blob()
Liest den Anforderungstext und gibt ihn als Zusage zurück, das mit einem Blob aufgelöst wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Ein Prompt, das mit einem Blobaufgelöst wird. |
Das folgende Beispiel zeigt, wie eine Anforderung mit der Methode blob() erstellt wird.
var obj = { hello: "world" };
var myBlob = new Blob([JSON.stringify(obj, null, 2)], {
type: "application/json",
});
var request = new Request("/myEndpoint", {
method: "POST",
body: myBlob,
});
request.blob().then((myBlob) => {
// do something with the blob sent in the request
});
Anforderung abrufen – bytes()
Liest den Anforderungstext und gibt ihn als Zusage zurück, das mit einem Uint8Array aufgelöst wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Ein Promise, das mit einem Uint8Arrayaufgelöst wird. |
Im Folgenden wird gezeigt, wie Sie mit der bytes()- Methode eine neue Anforderung erstellen.
var myArray = new Uint8Array(10);
var request = new Request("/myEndpoint", {
method: "POST",
body: myArray,
});
request.bytes().then((buffer) => {
// do something with the buffer sent in the request
});
Anforderung abrufen – Klon ()
Erstellt eine Kopie des aktuellen Anforderungsobjekts.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Anforderung | Ein Anforderungsobjekt, das eine exakte Kopie der Anforderung ist, für die der Klon () aufgerufen wurde. clone() löst einen Fehler aus, wenn der Anforderungstext bereits verwendet wurde. Wenn Sie die Anforderung ändern möchten, verwenden Sie den -Konstrukteur Anforderung abrufen – Request(). |
Das folgende Beispiel zeigt, wie Sie mit request() eine neue Anforderung erstellen und anschließend mit clone()kopieren.
var myRequest = new Request("flowers.jpg");
var newRequest = myRequest.clone(); // a copy of the request is now stored in newRequest
Anforderung abrufen – formData()
Liest den Anforderungstext und gibt ihn als Zusage zurück, das mit einem FormData-Objekt aufgelöst wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Keine | Ein Promise, das mit einem FormData- Objekt aufgelöst wird. |
Das folgende Beispiel zeigt, wie Sie mit request() eine neue Anforderung erstellen und dann mit der formData()-Methode auflösen, um sie als FormData-Objekt aufzulösen.
var formData = new FormData();
var fileField = document.querySelector('input[type="file"]');
formData.append("username", "abc123");
formData.append("avatar", fileField.files[0]);
var request = new Request("/myEndpoint", {
method: "POST",
body: formData,
});
request.formData().then((data) => {
// do something with the formdata sent in the request
});
Anforderung abrufen – json()
Liest den Anforderungstext, analysiert den Inhalt als JSON und gibt ein Prompt zurück, das mit dem analysierten Ergebnis aufgelöst wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Eine Zusage (der eventuelle Abschluss oder das Fehlschlagen eines asynchronen Vorgangs und der resultierende Wert), die in ein JavaScript-Objekt aufgelöst wird. Dieses Objekt kann alles sein, was von JSON dargestellt werden kann: ein Objekt, ein Array, eine Zeichenfolge, eine Zahl usw. |
Das folgende Beispiel zeigt, wie Sie mit request() und dann json() eine neue Anforderung erstellen, um die Anforderung zu analysieren und als JSON-Objekt zurückzugeben.
var obj = { hello: "world" };
var request = new Request("/myEndpoint", {
method: "POST",
body: JSON.stringify(obj),
});
request.json().then((data) => {
// process the data sent in the request
});
Anforderung abrufen – text()
Liest den Anforderungstext und gibt ihn als Zusage zurück, das mit einer in UTF-8 decodierten Zeichenfolge aufgelöst wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Keine | Ein Prompt, das mit einer Zeichenfolge im UTF-8-Format aufgelöst wird. |
Dieses Beispiel zeigt den Aufruf von text().
var text = "Hello world";
var request = new Request("/myEndpoint", {
method: "POST",
body: text,
});
request.text().then((text) => {
// process the data sent in the request
});