Request()
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
(en-US) 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
(en-US). 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 (en-US) 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 (en-US), 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
(en-US) 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()
(en-US)).
var copie = new Request(maRequete);
Note : Cette dernière utilisation n'est probablement utile que dans ServiceWorkers (en-US).
Spécifications
Specification |
---|
Fetch Standard # ref-for-dom-request① |
Compatibilité des navigateurs
BCD tables only load in the browser