XMLHttpRequest.send()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

La méthode XMLHttpRequest send() envoie la requête au serveur. Si la requête est asynchrone (elle l'est par défaut), la méthode envoie un retour dés que la requête est partie et le résultat est intégré en utilisant les évènements. En cas de requête synchrone, elle ne renvoie rien tant que la réponse n'est pas retournée.

send() accepte un paramètre optionnel qui vous permet de spécifier le corps de la requête; c'est principalement utilisé pour les requêtes comme PUT. Si la méthode est GET ou HEAD, le paramètre body est ignoré et le corps de la requête est fixé à null.

Si aucun "header"Accept n'a été paramétré dans setRequestHeader(), un "header" Accept avec le type "*/*" (tous types) est envoyé.

Syntaxe

js
XMLHttpRequest.send(body);

Paramètres

body Facultatif

Le corps des données à envoyer dans la requête XHR. Cela peut être :

Si la valeur du corps n'est pas spécifiée, la valeur par défaut null est employée.

La meilleure manière d'envoyer du contenu binaire (par exemple dans l'upload de fichiers) est d'utiliser un ArrayBufferView ou Blob en conjonction avec la méthode send().

Valeur de retour

undefined.

Exceptions

Exception Description
InvalidStateError send() a déjà été invoquée pour la requête, et/ou celle-ci est incomplète.
NetworkError Le type de ressource à récupérer est un BLOB, (binary large object) , et la méthode n'est pas GET.

Exemple: GET

js
var xhr = new XMLHttpRequest();
xhr.open("GET", "/server", true);

xhr.onload = function () {
  // Requête finie, traitement ici.
};

xhr.send(null);
// xhr.send('string');
// xhr.send(new Blob());
// xhr.send(new Int8Array());
// xhr.send(document);

Example: POST

js
var xhr = new XMLHttpRequest();
xhr.open("POST", "/server", true);

//Envoie les informations du header adaptées avec la requête
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xhr.onreadystatechange = function () {
  //Appelle une fonction au changement d'état.
  if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
    // Requête finie, traitement ici.
  }
};
xhr.send("foo=bar&lorem=ipsum");
// xhr.send(new Int8Array());
// xhr.send(document);

Spécifications

Specification
XMLHttpRequest
# the-send()-method

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
send
ArrayBufferView as parameter to send()
ArrayBuffer as parameter to send()
Blob as parameter to send()
FormData as parameter to send()
URLSearchParams as parameter to send()

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
Has more compatibility info.

Voir aussi