Request()
Le constructeur Request() crée un nouvel objet Request.
Syntaxe
js
var maRequete = new Request(entree[, init]);
Paramètres
- entree
-
Définit la ressource que vous souhaitez récupérer. Cela peut être soit :
- Une
USVStringcontenant 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 demodeest 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 objetHeadersou 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,USVStringouReadableStream(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-corsavant 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-originavant 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 estmanualavant Chrome 47 etfollowà partir de Chrome 47.referrer: UneUSVStringindiquantno-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>.
js
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():
js
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. :
js
fetch(maRequete,monInit).then(function(reponse) {
...
});
Vous pouvez aussi utilier un littéral d'objet tel que headers dans init.
js
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)).
js
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