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.

XMLHttpRequestsend() メソッドは、リクエストをサーバーに送信します。

リクエストが非同期の場合(これが既定)、このメソッドはリクエストが送信されるとすぐに戻り、結果はイベントを用いて配信されます。リクエストが同期の場合、このメソッドはレスポンスが到着するまで戻りません。

send() はリクエストの本文を示す引数を一つ受け取ることができます。これは主に PUT のようなリクエストに使用されます。リクエストメソッドが GET または HEAD であれば、 body 引数は無視され、リクエストの本文は null に設定されます。

Accept ヘッダーを setRequestHeader() を使用して設定しなかった場合、 Accept ヘッダーは "*/*" 型 (任意の型) が送信されます。

構文

js
send()
send(body)

引数

body 省略可

XHR のリクエストの中で送られる本文データです。次のものが使用できます。

body に値が設定されていない場合、既定値の null が使用されます。

バイナリーコンテンツの送信(例えばファイルのアップロード)の最適な方法は、TypedArrayDataViewBlob の何れかのオブジェクトと send() メソッドを組み合わせることです。

返値

なし (undefined)。

例外

InvalidStateError DOMException

このリクエストに対してすでに send() が呼び出されているか、リクエストが完了している。

NetworkError DOMException

読み込むリソースの型が Blob であり、メソッドが GET ではない。

GET の例

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

xhr.onload = () => {
  // リクエストの終了。ここの処理を実行します。
};

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

POST の例

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

//リクエストに従って正しいヘッダー情報を送信してください
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xhr.onreadystatechange = () => {
  // 状態が変化すると関数が呼び出されます。
  if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
    // リクエストの終了。ここの処理を実行します。
  }
};
xhr.send("foo=bar&lorem=ipsum");
// xhr.send(new Int8Array());
// xhr.send(document);

仕様書

Specification
XMLHttpRequest
# the-send()-method

ブラウザーの互換性

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.

関連情報