--- title: Request() slug: Web/API/Request/Request tags: - API - Constructeur - Experimental - Fetch - Reference - request translation_of: Web/API/Request/Request ---
{{APIRef("Fetch API")}}

Le constructeur Request() crée un nouvel objet {{domxref("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 :
init {{optional_inline}}
Un objet d'options contenant tous les paramètres personnalisés que vous voulez appliquer à la requête. Les options possibles sont :

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 à {{domxref ("GlobalFetch.fetch")}}. Puisque nous récupérons une image, nous lançons {{domxref ("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 {{htmlelement ("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 {{domxref("Request")}} au constructeur Request() pour créer une copie de la Request (c'est similaire au fait d'appeler la méthode {{domxref("Request.clone","clone()")}}).

var copie = new Request(maRequete);

Note : Cette dernière utilisation n'est probablement utile que dans ServiceWorkers.

Spécifications

Spécification Statut Commentaire
{{SpecName('Fetch','#dom-request','Request()')}} {{Spec2('Fetch')}}

Compatibilité des navigateurs

{{Compat("api.Request.Request")}}

Voir aussi