Request
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.
L'interface Request
de l'API Fetch représente une demande de ressource.
Vous pouvez créer un nouvel objet Request
en utilisant le constructeur Request()
, mais vous êtes plus susceptible de rencontrer un objet Request
renvoyé à la suite d'une autre opération d'API, telle en tant que service worker FetchEvent.request
.
Constructeur
Request()
-
Crée un nouvel objet
Request
.
Propriétés
Request.cache
Lecture seule-
Contient le mode de cache de la demande (par exemple,
default
,reload
,no-cache
). Request.context
Lecture seule Obsolète-
Contient le contexte de la demande (par exemple,
audio
,image
,iframe
, etc.) Request.credentials
Lecture seule-
Contient les informations d'identification de la demande (par exemple,
omit
,same-origin
,include
). La valeur par défaut estsame-origin
. Request.destination
Lecture seule-
Renvoie une chaîne de l'énumération
RequestDestination
décrivant la destination de la requête. Il s'agit d'une chaîne indiquant le type de contenu demandé. Request.headers
Lecture seule-
Contient l'objet
Headers
associé de la requête. Request.integrity
Lecture seule-
Contient la valeur d'intégrité de la sous-ressource de la demande (par exemple,
sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=
). Request.method
Lecture seule-
Contient la méthode de la requête (
GET
,POST
, etc). Request.mode
Lecture seule-
Contient le mode de la demande (par exemple,
cors
,no-cors
,same-origin
,navigate
.) Request.redirect
Lecture seule-
Contient le mode de gestion des redirections. Il peut s'agir d'un
follow
,error
, ou d'unmanual
. Request.referrer
Lecture seule-
Contient le référent de la demande (par exemple,
client
). Request.referrerPolicy
Lecture seule-
Contient la politique de référent de la demande (par exemple,
no-referrer
). Request.url
Lecture seule-
Contient l'URL de la demande.
Request
implémente Body
, donc il hérite également des propriétés suivantes:
body
Lecture seule-
Un getter simple utilisé pour exposer un
ReadableStream
du contenu du corps. bodyUsed
Lecture seule-
Stocke un
Boolean
qui déclare si le corps a déjà été utilisé dans une réponse.
Méthodes
Request.clone()
-
Crée une copie de l'objet
Request
actuel.
Request
implémente Body
, donc il dispose également des méthodes suivantes:
Body.arrayBuffer()
-
Renvoie une promesse qui se résout avec une représentation
ArrayBuffer
du corps de la requête. Body.blob()
-
Renvoie une promesse qui se résout avec une représentation
Blob
du corps de la requête. Body.formData()
-
Renvoie une promesse qui se résout avec une représentation
FormData
du corps de la requếte. Body.json()
-
Renvoie une promesse qui se résout avec une représentation
JSON
du corps de la requête. Body.text()
-
Renvoie une promesse qui se résout avec une représentation
USVString
(texte) du coprs de la requête.
Note : Les fonctions Body
ne peuvent être exécutées qu'une seule fois; les appels suivants seront résolus avec des chaînes vides / ArrayBuffers.
Exemples
Dans l'extrait de code suivant, nous créons une nouvelle requête à l'aide du constructeur Request()
(pour un fichier image dans le même répertoire que le script), puis renvoyons certaines valeurs de propriété de la requête:
const request = new Request("https://www.mozilla.org/favicon.ico");
const URL = request.url;
const method = request.method;
const credentials = request.credentials;
Vous pouvez ensuite récupérer cette requête en passant l'objet Request
en tant que paramètre à un appel fetch()
, par exemple:
fetch(request)
.then((response) => response.blob())
.then((blob) => {
image.src = URL.createObjectURL(blob);
});
Dans l'extrait de code suivant, nous créons une nouvelle requête à l'aide du constructeur Request()
avec des données initiales et du contenu du body pour une requête api qui nécessite une charge utile de body:
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;
Note : Le type de body ne peut être qu'un Blob
, BufferSource
, FormData
, URLSearchParams
, USVString
ou ReadableStream
donc pour ajouter un objet JSON à la charge utile, vous devez stringify cet objet.
Vous pouvez ensuite récupérer cette demande d'API en passant l'objet Request
en tant que paramètre à un appel fetch()
, par exemple et obtenir la réponse:
fetch(request)
.then((response) => {
if (response.status === 200) {
return response.json();
} else {
throw new Error("Something went wrong on api server!");
}
})
.then((response) => {
console.debug(response);
// ...
})
.catch((error) => {
console.error(error);
});
Spécifications
Specification |
---|
Fetch Standard # request-class |
Compatibilité des navigateurs
BCD tables only load in the browser