Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Request : propriété mode

Baseline Widely available *

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2017.

* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.

Note : Cette fonctionnalité est disponible via les Web Workers.

La propriété en lecture seule mode de l'interface Request contient le mode de la requête (par exemple, cors, no-cors, same-origin ou navigate). Cela sert à déterminer si les requêtes inter-origines produisent des réponses valides, et quelles propriétés de la réponse sont lisibles.

Pour construire une requête avec un mode spécifique, passez la valeur souhaitée comme option RequestInit.mode au constructeur Request.Request().

Notez que définir certains modes, en particulier no-cors, impose des restrictions sur les méthodes et en-têtes de requête utilisables, et empêche JavaScript d'accéder aux en-têtes ou au corps de la réponse. Consultez la documentation de RequestInit.mode pour plus de détails.

Valeur

L'une des valeurs suivantes :

same-origin

Interdit les requêtes inter-origines. Si une requête est faite vers une autre origine avec ce mode, le résultat est une erreur.

no-cors

Désactive le CORS pour les requêtes inter-origines. La réponse est opaque, ce qui signifie que ses en-têtes et son corps ne sont pas accessibles en JavaScript.

cors

Si la requête est inter-origine, elle utilisera le mécanisme Cross-Origin Resource Sharing (CORS).

Un mode pour la navigation. La valeur navigate est destinée à être utilisée uniquement par la navigation HTML. Une requête de navigation est créée uniquement lors de la navigation entre documents.

Mode par défaut

Les requêtes peuvent être initiées de différentes manières, et le mode d'une requête dépend du moyen par lequel elle a été initiée.

Par exemple, lorsqu'un objet Request est créé à l'aide du constructeur Request(), la valeur de la propriété mode pour cette Request est définie à cors.

Cependant, pour les requêtes créées autrement que par le constructeur Request(), no-cors est généralement utilisé comme mode : par exemple, pour les ressources embarquées où la requête est initiée depuis le balisage, sauf si l'attribut crossorigin est présent, la requête est dans la plupart des cas faite en mode no-cors — c'est-à-dire, pour les éléments HTML <link>, <script> (sauf lorsqu'ils sont utilisés avec des modules), <img>, <audio>, <video>, <object>, <embed> ou <iframe>.

Exemples

Dans l'extrait suivant, nous créons une nouvelle requête à l'aide du constructeur Request() (pour un fichier image dans le même répertoire que le script), puis nous enregistrons le mode de la requête dans une variable :

js
const maRequete = new Request("fleurs.jpg");
const monMode = maRequete.mode; // retourne "cors" par défaut

Spécifications

Specification
Fetch
# ref-for-dom-request-mode②

Compatibilité des navigateurs

Voir aussi