From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/ja/web/api/xmlhttprequest/send/index.html | 133 ++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 files/ja/web/api/xmlhttprequest/send/index.html (limited to 'files/ja/web/api/xmlhttprequest/send') diff --git a/files/ja/web/api/xmlhttprequest/send/index.html b/files/ja/web/api/xmlhttprequest/send/index.html new file mode 100644 index 0000000000..6471e8c2fb --- /dev/null +++ b/files/ja/web/api/xmlhttprequest/send/index.html @@ -0,0 +1,133 @@ +--- +title: XMLHttpRequest.send() +slug: Web/API/XMLHttpRequest/send +tags: + - AJAX + - API + - HTTP リクエスト + - Reference + - XHR + - XHR リクエスト + - XMLHttpRequest + - send + - ウェブ + - メソッド +translation_of: Web/API/XMLHttpRequest/send +--- +
{{APIRef('XMLHttpRequest')}}
+ +

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

+ +

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

+ +

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

+ +

構文

+ +
XMLHttpRequest.send(body)
+
+ +

引数

+ +
+
body {{optional_inline}}
+
XHR のリクエストの中で送られる本文データです。次のものが使用できます。 +
    +
  • {{domxref("Document")}}: 送信前にシリアライズされている場合。
  • +
  • BodyInit: Fetch の仕様書によれば、 {{domxref("Blob")}}, {{domxref("BufferSource")}}, {{domxref("FormData")}}, {{domxref("URLSearchParams")}}, {{domxref("ReadableStream")}}, {{domxref("USVString")}} 型のオブジェクトが利用できます。
  • +
+ body に値が設定されていない場合、既定値の null が使用されます。
+
+ +

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

+ +

返値

+ +

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);
+
+ +

仕様書

+ + + + + + + + + + + + + + + + +
仕様書状態備考
{{SpecName('XMLHttpRequest', '#the-send()-method', 'send()')}}{{Spec2('XMLHttpRequest')}}WHATWG living standard
+ +

ブラウザーの対応

+ + + +
{{Compat("api.XMLHttpRequest.send")}}
+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf