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 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. 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 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-referrerclient, 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, 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

Spécification Statut Commentaire
Fetch
La définition de 'Request()' dans cette spécification.
Standard évolutif

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
Request() constructor
Expérimentale
Chrome Support complet 41
Notes
Support complet 41
Notes
Notes From Chrome 47, default values for the init argument's properties changed. mode defaults to same-origin (from no-cors). credentials defaults to include (from same-origin). redirect defaults to follow (from manual).
Edge Support complet 15Firefox Support complet 39
Support complet 39
Support complet 34
Désactivée
Désactivée From version 34: this feature is behind the dom.fetch.enabled preference. To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari Support complet 10.1WebView Android Support complet 42
Notes
Support complet 42
Notes
Notes From WebView 47, default values for the init argument's properties changed. mode defaults to same-origin (from no-cors). credentials defaults to include (from same-origin). redirect defaults to follow (from manual).
Chrome Android Support complet 41
Notes
Support complet 41
Notes
Notes From Chrome 47, default values for the init argument's properties changed. mode defaults to same-origin (from no-cors). credentials defaults to include (from same-origin). redirect defaults to follow (from manual).
Firefox Android Support complet OuiOpera Android Support complet 29
Support complet 29
Support complet 28
Désactivée
Désactivée From version 28: this feature is behind the Experimental Web Platform Features preference.
Safari iOS Support complet 10.3Samsung Internet Android Support complet 4.0
Support complet 4.0
Support complet 5.0
Notes
Notes Some default values for the init parameter changed in Samsung Internet 5.0. See the Properties section for details.
cross-origin referrer stripped out and navigate mode converted to same-origin when constructor created from existing Request object.
Expérimentale
Chrome Support complet OuiEdge Support complet 15Firefox Support complet 54IE Aucun support NonOpera Support complet OuiSafari Support complet 10.1WebView Android Support complet OuiChrome Android Support complet OuiFirefox Android Support complet OuiOpera Android Aucun support NonSafari iOS Support complet 10.3Samsung Internet Android Support complet Oui
navigate mode
Expérimentale
Chrome Support complet 49Edge Support complet 15Firefox Support complet 46IE Aucun support NonOpera Support complet OuiSafari Support complet 10.1WebView Android Aucun support NonChrome Android Support complet 49Firefox Android Support complet OuiOpera Android Aucun support NonSafari iOS Support complet 10.3Samsung Internet Android Support complet 5.0
Send ReadableStream in request body
Expérimentale
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera ? Safari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Non
referrer init option
Expérimentale
Chrome ? Edge Support complet 15Firefox Support complet 47IE Aucun support NonOpera Support complet OuiSafari Support complet 10.1WebView Android Support complet OuiChrome Android Support complet OuiFirefox Android Support complet OuiOpera Android Aucun support NonSafari iOS Support complet 10.3Samsung Internet Android Support complet Oui
Consume response body as a ReadableStream
Expérimentale
Chrome Support complet 43Edge Support complet ≤79Firefox Support complet 65
Support complet 65
Support complet 57
Désactivée
Désactivée From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera ? Safari Aucun support NonWebView Android Support complet 43Chrome Android Support complet 43Firefox Android Support complet 65
Support complet 65
Support complet 57
Désactivée
Désactivée From version 57: this feature is behind the dom.streams.enabled preference (needs to be set to true) and the javascript.options.streams preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Aucun support NonSafari iOS Support complet 10.3Samsung Internet Android Support complet 4.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.

Voir aussi