Demande d’extraction : définie, globale
L’API Fetch Request contient des méthodes de création ou de récupération d’un objet Request pour permettre aux applications de demander de manière asynchrone des ressources, telles que des données JSON, texte ou binaires, à partir d’un serveur et de gérer la réponse. Cette API prend en charge diverses méthodes HTTP telles que GET, POST, PUT, DELETE, etc.
- Fetch : fetch(ressource de chaîne, options d’objet): démarrez le processus d’extraction d’une ressource à partir du réseau.
- Extraire les en-têtes : dans le champ d’application, global: récupérer et modifier les en-têtes de demande et de réponse.
- Demande d’extraction : définie, globale: créer un objet de demande.
- Extraire RequestInit : dans le champ d’application, global: définir des options pour configurer une demande d’extraction.
- Récupérer la réponse : scoped,global: créer un objet de réponse.
Pour prendre en charge les actions d’extraction, la propriété système glide.hosts.allowlist permet de contrôler les hôtes auxquels une méthode d’extraction peut accéder. Il s’applique aux API HTTP comme RestMessageV2 et celles mentionnées ci-dessus. Pour plus d’informations sur glide.hosts.allowlist, reportez-vous à la section Available system properties.
Propriétés de la demande
L’API Fetch Request prend en charge plusieurs propriétés en lecture seule qui offrent des informations détaillées sur une requête HTTP. Certains d’entre eux incluent l’url (l’URL de la demande), la méthode (la méthode HTTP), les en-têtes (les en-têtes associés) et le corps (le corps de la demande sous forme de flux). Les autres propriétés incluent les paramètres de mise en cache, les informations d’identification et les référents. Ces propriétés sont en lecture seule, ce qui signifie qu’elles peuvent être consultées, mais pas modifiées une fois la demande créée. Pour en savoir plus sur chaque propriété, reportez-vous à la section https://developer.mozilla.org/en-US/docs/Web/API/Request.
| Nom de la propriété | Description | Exemple |
|---|---|---|
| body | Propriété prête uniquement. Contient un flux lisible de données en octets avec le contenu du corps qui a été ajouté à la demande. Type/valeur de données : A ReadableStream ou null. |
|
| bodyUsed | Propriété prête uniquement. Marqueur indiquant si le corps de la demande a déjà été lu. Valeur acceptée :
Type de données : booléennes |
|
| cache | Propriété prête uniquement. Contient le mode de cache de la demande, qui contrôle la façon dont la demande interagit avec le cache HTTP du navigateur. Valeurs acceptées :
Type de données : chaîne |
|
| informations d'identification | Lecture seule. Reflète la valeur donnée au constructeur Request() dans l’option informations d’identification. Les informations d’identification sont des cookies, des certificats clients TLS ou des en-têtes d’authentification contenant un nom d’utilisateur et un mot de passe. Valeurs acceptées :
Type de données : chaîne |
|
| destination | Lecture seule. Renvoie une chaîne décrivant le type de contenu demandé. Valeurs acceptées :
Type de données : chaîne |
|
| en-têtes | Lecture seule. Objet En-têtes associé à la demande. Type de données : objet d’en-têtes |
|
| Intégrité | Lecture seule. La valeur d’intégrité de la sous-ressource de la demande. Valeur : valeur transmise comme argument lors de options.integrity la construction de la demande. Si une intégrité |
|
| isHistoryNavigation | Lecture seule. Booléen indiquant si la demande est une navigation d’historique. Valeurs acceptées :
Type de données : booléennes |
|
| keepalive | Lecture seule. Le paramètre keepalive de la demande (vrai ou faux). Renvoie une chaîne vide si une valeur d’intégrité n’est pas transmise dans la demande. Valeurs acceptées :
Type de données : booléennes |
|
| method | Lecture seule. La méthode de la demande (GET, POST, etc.)Type de données : chaîne |
|
| Mode | Lecture seule. Mode de la demande. Utilisé pour déterminer si les demandes d’origines croisées mènent à des réponses valides et quelles propriétés de la réponse sont lisibles. Valeurs acceptées :
Les demandes peuvent être lancées de différentes manières, et le mode d’une demande dépend du moyen particulier par lequel elle a été lancée. Par exemple, lorsqu’un objet Request est créé à l’aide du constructeur Request(), la valeur de la propriété mode pour cette demande est définie sur cors. Toutefois, pour les demandes créées autrement que par Request() constructeur, no-cors est généralement utilisé comme mode ; Par exemple, pour les ressources embarquées où la requête est initiée à partir d’un balisage, sauf si l’attribut crossorigin est présent, la requête est dans la plupart des cas effectuée en utilisant le mode no-cors — c’est-à-dire pour le <link> ou <script> elements (except when used with modules), or <img>, <audio>,<video>, <object>, <embed>, or <iframe> elements. Type de données : chaîne |
|
| Redirection | Lecture seule. Mode de traitement des redirections. Valeurs valides :
Type de données : chaîne Par défaut : follow |
|
| référant | Lecture seule. Le référent de la demande (par exemple, client, no-reférer ou une URL). La valeur no-referrer renvoie une chaîne vide.Type de données : chaîne |
|
| referrerPolicy | Lecture seule. La politique de référent qui régit les informations de référent envoyées dans l’en-tête de référent avec la demande. Type de données : chaîne |
|
| signal | Lecture seule. Signal d’abandon associé à la demande. Type de données : chaîne |
|
| URL | Lecture seule. URL de la demande. Type de données : chaîne |
|
Récupérer la demande : request()
Crée un nouvel objet de demande. Vous pouvez également créer l’objet Request à partir d’une ressource d’URL ou d’objet.
| Nom | Type | Description |
|---|---|---|
| entrée | Chaîne ou objet | Facultatif. La ressource à récupérer. Valeurs valides :
|
| options | Objet | Facultatif. Objet Extraire RequestInit : dans le champ d’application, global contenant tous les paramètres personnalisés à appliquer à la demande. Si vous créez une nouvelle demande à partir d’une demande existante, les options définies dans la nouvelle demande remplacent les options correspondantes de la demande initiale. Par défaut : renvoie les valeurs par défaut pour toutes les propriétés. |
L’exemple suivant montre comment créer un objet Request à l’aide du constructeur Request( ).
var myImage = document.querySelector("img");
var myRequest = new Request("flowers.jpg");
L’exemple suivant montre comment créer le nouvel objet Request à l’aide du paramètre input pour récupérer une URL ou un objet.
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;
});
L’exemple suivant montre comment créer le nouvel objet Request avec des options d’en-tête à l’aide d’un littéral d’objet.
var myImage = document.querySelector("img");
var myRequest = new Request("flowers.jpg");
var options = {
headers: {
"Cache-Control": "max-age=60480",
},
};
Demande d’extraction : arrayBuffer()
Lit le corps de la demande et le renvoie sous forme de promesse qui se résout avec un arrayBuffer.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Promesse | Une promesse qui se résout avec un arrayBuffer. |
Ce qui suit montre comment créer une nouvelle requête à l’aide de la méthode arrayBuffer( ).
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
});
Demande d’extraction : blob()
Lit le corps de la demande et le renvoie sous forme de promesse qui se résout par un objet blob.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Une promesse qui se résout avec un blob. |
L’exemple suivant montre comment former une demande avec la méthode blob( ).
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
});
Demande d’extraction : bytes()
Lit le corps de la demande et le renvoie sous forme de promesse qui se résout avec un Uint8Array.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Une promesse qui se résout avec un Uint8Array. |
Ce qui suit montre comment créer une nouvelle requête à l’aide de la méthode bytes( ).
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
});
Demande d’extraction : clone()
Crée une copie de l’objet de demande actuel.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Demander | Un objet Request qui est une copie exacte de la requête pour laquelle clone() a été appelé. clone() génère une erreur si le corps de la requête a déjà été utilisé. Si vous souhaitez modifier la demande, utilisez le Récupérer la demande : request() constructeur. |
L’exemple suivant montre comment créer une nouvelle demande à l’aide de request(), puis la copier à l’aide de clone().
var myRequest = new Request("flowers.jpg");
var newRequest = myRequest.clone(); // a copy of the request is now stored in newRequest
Récupérer la demande : formData()
Lit le corps de la demande et le renvoie en tant que promesse qui se résout avec un objet FormData.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant | Une promesse qui se résout avec un objet FormData . |
L’exemple suivant montre comment créer une nouvelle demande à l’aide de request(), puis la résoudre avec la méthode formData() pour la résoudre en tant qu’objet FormData.
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
});
Récupérer la demande : json()
Lit le corps de la demande, analyse le contenu au format JSON et renvoie une promesse qui se résout avec le résultat analysé.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Promesse (l’achèvement ou l’échec éventuel d’une opération asynchrone et sa valeur résultante) qui se résout en un objet JavaScript. Cet objet peut être tout ce qui peut être représenté par JSON : un objet, un tableau, une chaîne, un nombre, etc. |
L’exemple suivant montre comment créer une nouvelle demande à l’aide de request() puis de json() pour analyser la demande et la renvoyer en tant qu’objet JSON.
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
});
Demande d’extraction : text()
Lit le corps de la demande et le renvoie en tant que promesse qui se résout avec une chaîne décodée en UTF-8.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant | Une promesse qui se résout avec une chaîne au format UTF-8. |
Cet exemple montre comment appeler 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
});