XMLHttpRequest.send()

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

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

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

構文

XMLHttpRequest.send(body)

引数

body Optional
XHR のリクエストの中で送られる本文データです。次のものが使用できます。 body に値が設定されていない場合、既定値の null が使用されます。

バイナリコンテンツの送信 (例えばファイルのアップロード) の最適な方法は、 ArrayBufferView または Blobsend() メソッドを組み合わせることです。

返値

undefined

例外

例外 説明
InvalidStateError このリクエストに対してすでに send() が呼び出されているか、リクエストが完了している。
NetworkError 読み込むリソースの型が Blob であり、メソッドが GET ではない。

GET の例

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

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

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

POST の例

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

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

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

仕様書

仕様書 状態 備考
XMLHttpRequest
send() の定義
現行の標準 WHATWG living standard

ブラウザーの対応

BCD tables only load in the browser

関連情報