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 send()
von XMLHttpRequest
sendet die Anfrage an den Server.
Wenn die Anfrage asynchron ist (was standardmäßig der Fall ist), kehrt diese Methode zurück, sobald die Anfrage gesendet wird, und das Ergebnis wird über Ereignisse geliefert. Wenn die Anfrage synchron ist, kehrt diese Methode nicht zurück, bis die Antwort eingetroffen ist.
send()
akzeptiert einen optionalen Parameter, mit dem Sie den Anfragekörper spezifizieren 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 Anfragkörper wird auf null
gesetzt.
Wenn kein Accept
-Header mit der Methode setRequestHeader()
gesetzt wurde, wird ein Accept
-Header mit dem Typ "*/*"
(beliebiger Typ) gesendet.
Syntax
send()
send(body)
Parameter
body
Optional-
Ein Datenkörper, der in der XHR-Anfrage gesendet werden soll. Dies kann sein:
- Ein
Document
, in diesem Fall wird es vor dem Senden serialisiert. - Ein
XMLHttpRequestBodyInit
, das laut Fetch-Spezifikation einBlob
, einArrayBuffer
, einTypedArray
, eineDataView
, einFormData
, einURLSearchParams
oder ein String sein kann. null
Wenn kein Wert für den Körper angegeben wird, wird standardmäßig
null
verwendet. - Ein
Der beste Weg, binäre Inhalte (z.B. bei Datei-Uploads) zu senden, besteht darin, ein TypedArray
, eine DataView
oder ein Blob
-Objekt in Verbindung mit der send()
-Methode zu verwenden.
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 Ressourcentyp, der abgerufen werden soll, ein Blob ist und die Methode nicht
GET
ist.
Beispiel: GET
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
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 # the-send()-method |