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.
* Some parts of this feature may have varying levels of support.
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.setAttributionReporting()
安全なコンテキスト用Experimentalリクエストのレスポンスで、帰属ソースや発生するイベントを登録できるようにすることを示します。
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 # interface-xmlhttprequest |
ブラウザーの互換性
関連情報
XMLSerializer
: DOM ツリーの XML へのシリアライズ- XMLHttpRequest の使用
- フェッチ API