XMLHttpRequest
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.
XMLHttpRequest
(XHR) オブジェクトは、サーバーと対話するために使用されます。ページ全体を更新する必要なしに、データを受け取ることができます。これでユーザーの作業を中断させることなく、ウェブページの一部を更新することができます。
XMLHttpRequest
という名前ではあるものの、 XML だけでなく、あらゆる種類のデータを受け取るために使用することができます。
通信においてサーバーからのイベントデータやメッセージデータの受信を含む必要があるのであれば、サーバー送信イベントの EventSource
インターフェイスを使用することも検討してください。全二重の通信では、 WebSocket の方が良いかもしれません。
メモ: この機能はウェブワーカー内で利用可能です。
コンストラクター
XMLHttpRequest()
-
XMLHttpRequest を初期化するコンストラクターです。これは、他のメソッドを呼び出す前に呼び出さなければなりません。
インスタンスプロパティ
このインターフェイスは、 XMLHttpRequestEventTarget
および EventTarget
のプロパティを継承しています。
XMLHttpRequest.readyState
読取専用-
リクエストの状態を表す数値を返します。
XMLHttpRequest.response
読取専用-
ArrayBuffer
、Blob
、Document
、JavaScript オブジェクト、文字列の何れか(XMLHttpRequest.responseType
の値による)で、リクエストのエンティティ本体を返します。 XMLHttpRequest.responseText
読取専用-
文字列で、リクエストに対するレスポンスをテキスト形式で返すか、リクエストが失敗した場合や、まだ送信されていない場合は
null
を返します。 XMLHttpRequest.responseType
-
レスポンスの種類を示します。
XMLHttpRequest.responseURL
読取専用-
レスポンスのシリアライズされた URL、または URL が null であれば空文字列を返します。
XMLHttpRequest.responseXML
読取専用-
Document
でリクエストに対するレスポンスが入ったを返すか、またはリクエストが成功しなかった場合、まだ送信されていない場合、 XML または HTML として解釈できなかった場合はnull
を返します。ウェブワーカーでは利用できません。 XMLHttpRequest.status
読取専用-
リクエストの HTTP レスポンスステータスコードを返します。
XMLHttpRequest.statusText
読取専用-
文字列で、HTTP サーバーから返ってきたレスポンス文字列を返します。
XMLHttpRequest.status
とは異なり、("OK
" のような)レスポンスメッセージの完全な文が含まれています。メモ: HTTP/2 仕様書 RFC 7540, セクション 8.1.2.4: Response Pseudo-Header Fields によれば、 HTTP/2 では、 HTTP/1.1 のステータス行に含まれていたバージョンや原因の文を伝える方法が定義されていません。
XMLHttpRequest.timeout
-
リクエストを自動的に終了するまでの時間をミリ秒単位で表します。
XMLHttpRequest.upload
読取専用-
XMLHttpRequestUpload
で、アップロードプロセスを表します。 XMLHttpRequest.withCredentials
-
サイト間の
Access-Control
リクエストでクッキーや認証ヘッダーなどの資格情報を使用する場合はtrue
を返します。そうでなければfalse
を返します。
標準外のプロパティ
XMLHttpRequest.channel
読取専用-
リクエストの実行の際にオブジェクトによって使われるチャンネルです。
XMLHttpRequest.mozAnon
読取専用-
論理値です。 true の場合、リクエストを Cookie や認証ヘッダーを伴わずに送信します。
XMLHttpRequest.mozSystem
読取専用-
論理値です。 true の場合、リクエストで同一オリジンポリシーは適用されません。
XMLHttpRequest.mozBackgroundRequest
-
論理値です。このオブジェクトがバックグラウンドサービスのリクエストを表しているかどうかを示します。
インスタンスメソッド
XMLHttpRequest.abort()
-
リクエストがすでに送信されている場合、リクエストを中止します。
XMLHttpRequest.getAllResponseHeaders()
-
すべてのレスポンスヘッダーを、 CRLF で区切り、文字列として返します。レスポンスを何も受け取らなかった場合は
null
を返します。 XMLHttpRequest.getResponseHeader()
-
指定したヘッダーを含む文字列を返します。レスポンスを受信していない、またはレスポンス内に指定したヘッダーが存在しない場合は
null
を返します。 XMLHttpRequest.open()
-
リクエストを初期化します。
XMLHttpRequest.overrideMimeType()
-
サーバーから返ってくる MIME タイプを上書きします。
XMLHttpRequest.send()
-
リクエストを送信します。このリクエストが非同期(既定)の場合、このメソッドはリクエストが送るとすぐに返ります。
XMLHttpRequest.setRequestHeader()
-
HTTP リクエストヘッダーの値を設定します。
setRequestHeader()
はopen()
の後、およびsend()
の前に呼び出さなくてはいけません。
イベント
abort
-
例えばプログラムが
XMLHttpRequest.abort()
を呼び出した時など、リクエストが中断されたときに発生します。onabort
イベントハンドラープロパティを通して利用することもできます。 error
-
リクエストでエラーが発生したときに発生します。
onerror
イベントハンドラープロパティを通して利用することもできます。 load
-
XMLHttpRequest
のトランザクションが成功裏に完了したときに発生します。onload
イベントハンドラープロパティを通して利用することもできます。 loadend
-
リクエストが完了したときに、成功した場合(
load
の後)、成功しなかった場合(abort
またはerror
の後)のどちらでも発生します。onloadend
イベントハンドラープロパティを通して利用することもできます。 loadstart
-
リクエストがデータを読み込み始めたときに発生します。
onloadstart
イベントハンドラープロパティを通して利用することもできます。 progress
-
リクエストがもっとデータを受信した際に定期的に発生します。
onprogress
イベントハンドラープロパティを通して利用することもできます。 readystatechange
-
readyState
プロパティが変化するたびに発生します。onreadystatechange
イベントハンドラープロパティを通して利用することもできます。 timeout
-
プリセット時間が過ぎたために進行が終了したときに発生します。
ontimeout
イベントハンドラープロパティを通して利用することもできます。
仕様書
Specification |
---|
XMLHttpRequest Standard # interface-xmlhttprequest |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
XMLSerializer
: DOM ツリーの XML へのシリアライズ- XMLHttpRequest の使用
- フェッチ API