From 7d670dd5a93b42f6d0443b30ecbdaf5647265301 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sun, 30 Jan 2022 00:00:48 +0900 Subject: 2021/10/25 時点の英語版に同期 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/xmlhttprequest/send/index.md | 142 +++++++++++--------------- 1 file changed, 59 insertions(+), 83 deletions(-) (limited to 'files/ja') diff --git a/files/ja/web/api/xmlhttprequest/send/index.md b/files/ja/web/api/xmlhttprequest/send/index.md index cc98413966..f82d719ec6 100644 --- a/files/ja/web/api/xmlhttprequest/send/index.md +++ b/files/ja/web/api/xmlhttprequest/send/index.md @@ -5,70 +5,62 @@ tags: - AJAX - API - HTTP リクエスト - - Reference + - メソッド + - NeedsContent + - NeedsExample + - リファレンス - XHR - XHR リクエスト - XMLHttpRequest - send - - ウェブ - - メソッド +browser-compat: api.XMLHttpRequest.send translation_of: Web/API/XMLHttpRequest/send --- -
{{APIRef('XMLHttpRequest')}}
+{{APIRef('XMLHttpRequest')}} + +{{domxref("XMLHttpRequest")}} の **`send()`** メソッドは、リクエストをサーバーに送信します。 + +リクエストが非同期の場合 (これが既定)、このメソッドはリクエストが送信されるとすぐに戻り、結果はイベントを用いて配信されます。リクエストが同期の場合、このメソッドはレスポンスが到着するまで戻りません。 + +`send()` はリクエストの本文を示す引数を一つ受け取ることができます。これは主に {{HTTPMethod("PUT")}} のようなリクエストに使用されます。リクエストメソッドが {{HTTPMethod("GET")}} あmたは {{HTTPMethod("HEAD")}} であれば、 `body` 引数は無視され、リクエストの本文は `null` に設定されます。 + +{{HTTPHeader("Accept")}} ヘッダーを {{domxref("XMLHttpRequest.setRequestHeader", "setRequestHeader()")}} を使用して設定しなかった場合、 `Accept` ヘッダーは `"*/*"` 型 (任意の型) が送信されます。 -

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

+## 構文 -

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

+```js +XMLHttpRequest.send(body) +``` -

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

+### 引数 -

構文

+- `body` {{optional_inline}} -
XMLHttpRequest.send(body)
-
+ - : XHR のリクエストの中で送られる本文データです。次のものが使用できます。 -

引数

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

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

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

返値

+### 返値 -

undefined

+`undefined` -

例外

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

GET の例

+## GET の例 -
var xhr = new XMLHttpRequest();
+```js
+var xhr = new XMLHttpRequest();
 xhr.open('GET', '/server', true);
 
 xhr.onload = function () {
@@ -77,55 +69,39 @@ xhr.onload = function () {
 
 xhr.send(null);
 // xhr.send('string');
-// xhr.send(new Blob());
+// xhr.send(new Blob());
 // xhr.send(new Int8Array());
-// xhr.send(document);
-
+// xhr.send(document); +``` -

POST の例

+## POST の例 -
var xhr = new XMLHttpRequest();
+```js
+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) {
+    if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
         // リクエストの終了。ここの処理を実行します。
     }
 }
-xhr.send("foo=bar&lorem=ipsum");
+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")}}
- -

関連情報

- - +// xhr.send(document); +``` + +## 仕様書 + +{{Specifications}} + +## ブラウザーの互換性 + +{{Compat}} + +## 関連情報 + +- [XMLHttpRequest の使用](/ja/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest) +- [XMLHttpRequest における HTML の扱い](/ja/docs/Web/API/XMLHttpRequest/HTML_in_XMLHttpRequest) -- cgit v1.2.3-54-g00ecf