XMLHttpRequest : méthode setRequestHeader()
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
Note : Cette fonctionnalité est disponible via les Web Workers, sauf pour les Service Workers.
La méthode setRequestHeader() de l'interface XMLHttpRequest permet de définir la valeur d'un en-tête de requête HTTP.
Lors de l'utilisation de setRequestHeader(), vous devez l'appeler après avoir appelé open(), mais avant d'appeler send().
Si cette méthode est appelée plusieurs fois avec le même en-tête, les valeurs sont fusionnées en un seul en-tête de requête.
Chaque fois que vous appelez setRequestHeader() après la première fois, le texte défini est ajouté à la fin du contenu de l'en-tête existant.
Si aucun en-tête Accept n'a été défini à l'aide de cette méthode, un en-tête Accept avec le type "*/*" est envoyé avec la requête lorsque send() est appelé.
Pour des raisons de sécurité, il existe plusieurs en-têtes de requête interdits dont les valeurs sont contrôlées par l'agent utilisateur. Toute tentative de définir une valeur pour l'un de ces en-têtes à partir du code JavaScript côté client est ignorée sans avertissement ni erreur.
De plus, l'en-tête HTTP Authorization peut être ajouté à une requête, mais est supprimé si la requête est redirigée vers un autre domaine.
Note :
Pour vos champs personnalisés, vous pouvez rencontrer une exception « not allowed by Access-Control-Allow-Headers in preflight response » lorsque vous envoyez des requêtes entre domaines.
Dans cette situation, vous devez configurer le Access-Control-Allow-Headers dans votre en-tête de réponse côté serveur.
Syntaxe
setRequestHeader(header, value)
Paramètre
Valeurs de retour
Aucune (undefined).
Spécifications
| Spécification |
|---|
| XMLHttpRequest> # the-setrequestheader()-method> |