XMLHttpRequest: send()-Methode

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.

Hinweis: Diese Funktion ist in Web Workers verfügbar, mit Ausnahme von Service Workers.

Die Methode XMLHttpRequest send() sendet die Anfrage an den Server.

Wenn die Anfrage asynchron ist (dies ist der Standard), kehrt diese Methode sofort zurück, sobald die Anfrage gesendet wurde, und das Ergebnis wird über Ereignisse geliefert. Wenn die Anfrage synchron ist, kehrt diese Methode erst zurück, wenn die Antwort eingetroffen ist.

send() akzeptiert einen optionalen Parameter, mit dem Sie den Body der Anfrage angeben können; dies wird hauptsächlich für Anfragen wie PUT verwendet. Wenn die Anfragemethode GET oder HEAD ist, wird der body-Parameter ignoriert und der Anfrageteil wird auf null gesetzt.

Wenn kein Accept-Header mit der setRequestHeader() gesetzt wurde, wird ein Accept-Header mit dem Typ "*/*" (jeder Typ) gesendet.

Syntax

js
send()
send(body)

Parameter

body Optional

Ein Body mit Daten, die in der XHR-Anfrage gesendet werden sollen. Dies kann sein:

Wenn kein Wert für den Body angegeben ist, wird null als Standardwert verwendet.

Der beste Weg, um binären Inhalt (z.B. bei Datei-Uploads) zu senden, ist die Verwendung eines TypedArray, eines DataView oder eines Blob-Objekts in Verbindung mit der send()-Methode.

Rückgabewert

Keiner (undefined).

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn send() bereits für die Anfrage aufgerufen wurde und/oder die Anfrage abgeschlossen ist.

NetworkError DOMException

Wird ausgelöst, wenn der zu holende Ressourcentyp ein Blob ist und die Methode nicht GET ist.

Beispiel: GET

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

xhr.onload = () => {
  // Request finished. Do processing here.
};

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

Beispiel: POST

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

// Send the proper header information along with the request
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xhr.onreadystatechange = () => {
  // Call a function when the state changes.
  if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
    // Request finished. Do processing here.
  }
};
xhr.send("foo=bar&lorem=ipsum");
// xhr.send(new Int8Array());
// xhr.send(document);

Spezifikationen

Specification
XMLHttpRequest Standard
# the-send()-method

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch