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 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 de mode est convertie en same-origin.
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 objet Headers ou un littéral d'objet avec des valeurs ByteString.
  • body: Tout corps que vous voulez ajouter à votre requête : cela peut être un objet Blob, BufferSource, FormData, URLSearchParams, USVString ou ReadableStream (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, ou navigate. La valeur par défaut est cors. Dans Chrome, la valeur par défaut est no-cors avant Chrome 47 et same-origin à partir de Chrome 47.
  • credentials: Les informations d'authentification de requête que vous souhaitez utiliser pour la requête : omit, same-origin, ou include. La valeur par défaut est omit. Dans Chrome, la valeur par défaut est same-origin avant Chrome 47 et include à 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, ou manual. Dans Chrome, le défaut est manual avant Chrome 47 et follow à partir de Chrome 47.
  • referrer: Une USVString indiquant no-referrer, client, ou une URL. La valeur par défaut est client.
  • 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

Voir aussi