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.
Le constructeur Request()
crée un nouvel objet Request
.
Syntaxe
var maRequete = new Request(entree[, init]);
Paramètres
- entree
-
Définit la ressource que vous souhaitez récupérer. Cela peut être soit :
- Une
USVString
contenant l'URL directe de la ressource que vous voulez récupérer. - Un objet
Request
, ce qui crée en fait une copie. Notez les mises à jour de comportement suivantes pour conserver la sécurité, tout en rendant le constructeur moins susceptible de déclencher des exceptions :- Si cet objet existe depuis une autre origine lors de l'appel du constructeur, le
Request.referrer
est enlevé. - Si cet objet a un
Request.mode
ànavigate
, la valeur demode
est convertie ensame-origin
.
- Si cet objet existe depuis une autre origine lors de l'appel du constructeur, le
- Une
- init Facultatif
-
Un objet d'options contenant tous les paramètres personnalisés que vous voulez appliquer à la requête. Les options possibles sont :
method
: La méthode de la requête, par ex.,GET
,POST
.headers
: Tous les entêtes que vous voulez ajouter à votre requête, contenus dans un objetHeaders
ou un littéral d'objet avec des valeursByteString
.body
: Tout corps que vous voulez ajouter à votre requête : cela peut être un objetBlob
,BufferSource
,FormData
,URLSearchParams
,USVString
ouReadableStream
. Notez qu'une requête utilisant la méthode GET ou HEAD ne peut pas avoir de corps .mode
: Le mode que vous souhaitez utiliser pour la requête, par exemple,cors
,no-cors
,same-origin
, ounavigate
. La valeur par défaut estcors
. Dans Chrome, la valeur par défaut estno-cors
avant Chrome 47 etsame-origin
à partir de Chrome 47.credentials
: Les informations d'authentification de requête que vous souhaitez utiliser pour la requête :omit
,same-origin
, ouinclude
. La valeur par défaut estomit
. Dans Chrome, la valeur par défaut estsame-origin
avant Chrome 47 etinclude
à partir de Chrome 47.cache
: Le mode de cache que vous voulez utiliser pour la requête.redirect
: Le mode de redirection à utiliser :follow
,error
, oumanual
. Dans Chrome, le défaut estmanual
avant Chrome 47 etfollow
à partir de Chrome 47.referrer
: UneUSVString
indiquantno-referrer
,client
, ou une URL. La valeur par défaut estclient
.integrity
: Contient la valeur d'intégrité de la sous ressource de la requête (par ex..,sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=
).
Erreurs
Type | Description |
---|---|
TypeError |
Depuis Firefox 43, Request() déclenchera une TypeError si l'URL contient des informations d'authentification, comme dans http://user:password@example.com . |
Exemple
Dans notre exemple de Fetch Request (voir Fetch Request en direct), nous créons un nouvel objet Request
en utilisant le constructeur, puis nous le récupérons en utilisant un appel à GlobalFetch.fetch
. Puisque nous récupérons une image, nous lançons Body.blob
sur la réponse pour lui donner le bon type MIME afin qu'il soit géré correctement, puis nous en créons une
Object URL et nous l'affichons dans un élément <img>
.
var monImage = document.querySelector("img");
var maRequete = new Request("fleurs.jpg");
fetch(maRequete)
.then(function (reponse) {
return reponse.blob();
})
.then(function (reponse) {
var URLdobjet = URL.createObjectURL(reponse);
monImage.src = URLdobjet;
});
Dans notre exemple de Fetch Request avec init (see Fetch Request init en direct), nous faisons la même chose, excepté que nous passons un objet init quand nous invoquons fetch()
:
var monImage = document.querySelector('img');
var mesEntetes = new Headers();
mesEntetes.append('Content-Type', 'image/jpeg');
var monInit = { method: 'GET',
headers: mesEntetes,
mode: 'cors',
cache: 'default' };
var maRequete = new Request('fleurs.jpg',monInit);
fetch(maRequete).then(function(reponse) {
...
});
Notez que vos pouvez aussi passer l'objet init dans l'appel à fetch
pour obtenir le même résultat, par ex. :
fetch(maRequete,monInit).then(function(reponse) {
...
});
Vous pouvez aussi utilier un littéral d'objet tel que headers
dans init
.
var monInit = {
method: "GET",
headers: {
"Content-Type": "image/jpeg",
},
mode: "cors",
cache: "default",
};
var maRequete = new Request("fleurs.jpg", monInit);
Vous pouvez aussi passer un objet Request
au constructeur Request()
pour créer une copie de la Request (c'est similaire au fait d'appeler la méthode clone()
).
var copie = new Request(maRequete);
Note : Cette dernière utilisation n'est probablement utile que dans ServiceWorkers.
Spécifications
Specification |
---|
Fetch Standard # ref-for-dom-request① |
Compatibilité des navigateurs
BCD tables only load in the browser