このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
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 2015年7月.
XMLHttpRequest のsend() メソッドは、リクエストをサーバーに送信します。
リクエストが非同期の場合(これが既定)、このメソッドはリクエストが送信されるとすぐに戻り、結果はイベントを用いて配信されます。リクエストが同期の場合、このメソッドはレスポンスが到着するまで戻りません。
send() はリクエストの本文を示す引数を一つ受け取ることができます。これは主にPUT のようなリクエストに使用されます。リクエストメソッドがGET またはHEAD であれば、body 引数は無視され、リクエストの本文はnull に設定されます。
Accept ヘッダーをsetRequestHeader() を使用して設定しなかった場合、Accept ヘッダーは"*/*" 型 (任意の型) が送信されます。
In this article
構文
send()send(body)引数
body省略可XHR のリクエストの中で送られる本文データです。次のものが使用できます。
Document: 送信前にシリアライズされている場合。XMLHttpRequestBodyInit:Fetch の仕様書によれば、Blob、ArrayBuffer、TypedArray、DataView、FormData、URLSearchParams、文字列が利用できます。null
body に値が設定されていない場合、既定値の
nullが使用されます。
バイナリーコンテンツの送信(例えばファイルのアップロード)の最適な方法は、TypedArray、DataView、Blob の何れかのオブジェクトとsend() メソッドを組み合わせることです。
返値
なし (undefined)。
例外
InvalidStateErrorDOMExceptionこのリクエストに対してすでに
send()が呼び出されているか、リクエストが完了している。NetworkErrorDOMException読み込むリソースの型が Blob であり、メソッドが
GETではない。
GET の例
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 の例
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> |