XMLHttpRequest は、クライアントとサーバーの間でデータを伝送するための機能をクライアント側で提供する API です。ページ全体を再読み込みすることなく、URL からデータを読み出す簡単な方法を提供します。この API によって、ユーザの作業を中断させることなく Web ページの一部を更新することができます。 XMLHttpRequest は AJAX プログラミングで多く使用されます。
XMLHttpRequest は Microsoft によって設計され、Mozilla、Apple および Google が採用しました。現在は WHATWG によって標準化されています。XMLHttpRequest という名前ではあるものの、XML に限らないデータ形式を取り扱うことができ、(file および ftp を含む) HTTP 以外のプロトコルもサポートしています。
構文
var myRequest = new XMLHttpRequest();
XMLHttpRequest の使い方の詳細については、XMLHttpRequest の利用を参照してください。
メソッド
XMLHttpRequest(JSObject objParameters); |
void abort(); |
DOMString getAllResponseHeaders(); |
DOMString? getResponseHeader(DOMString header); |
void open(DOMString method, DOMString url, optional boolean async, optional DOMString? user, optional DOMString? password); |
void overrideMimeType(DOMString mime); |
void send();void send(ArrayBuffer data);void send(ArrayBufferView data);void send(Blob data);void send(Document data);void send(DOMString? data);void send(FormData data); |
void setRequestHeader(DOMString header, DOMString value); |
| 非標準メソッド |
|---|
[noscript] void init(in nsIPrincipal principal, in nsIScriptContext scriptContext, in nsPIDOMWindow ownerWindow); |
[noscript] void openRequest(in AUTF8String method, in AUTF8String url, in boolean async, in AString user, in AString password); |
void sendAsBinary(in DOMString body); 非推奨 Gecko 31 |
プロパティ
このインターフェイスは、XMLHttpRequestEventTarget および EventTarget のプロパティを継承します。
XMLHttpRequest.onreadystatechangereadyState属性が変更する都度呼び出されるEventHandler。コールバック関数はユーザーインターフェーススレッドから呼び出されます。
警告: このプロパティはネイティブコードから使用してはいけません。また、同期リクエストとともに利用するべきでもありません。XMLHttpRequest.readyState読取専用- リクエストの状態を
unsigned short型の値で返します:値 状態 説明 0UNSENTopen()がまだ呼び出されていない。1OPENEDsend()がまだ呼び出されていない。2HEADERS_RECEIVEDsend()が呼び出され、ヘッダーとステータスが通った。3LOADINGダウンロード中。 responseTextは断片的なデータを保持している。4DONE一連の動作が完了した。 XMLHttpRequest.response読取専用ArrayBuffer、Blob、Document、JavaScript オブジェクト、DOMStringといったXMLHttpRequest.responseTypeに従ったレスポンスの実体ボディ。リクエストが完了していない、または成功しなかった場合、この値はnullとなります。XMLHttpRequest.responseText読取専用- リクエストに対するテキスト形式でのレスポンスを含む
DOMStringを返します。リクエストの失敗または未送信の場合はnullとなります。 XMLHttpRequest.responseType- レスポンス型を定義する、列挙型の値です。以下の値を使用できます:
値 responseプロパティのデータ型""DOMString(デフォルト値)"arraybuffer"ArrayBuffer"blob"Blob"document"Document"json"サーバーが返してきた JSON 文字列をパースした JavaScript オブジェクト "text"DOMString"moz-blob"progress イベントから断片的な Blobを取り出せるようにするため、Firefox で使用する値。データの受信中であっても、progress イベントハンドラでデータの処理を開始できます。"moz-chunked-text""text"に似ていますが、こちらはストリーミングです。responseの値は"progress"イベントの発生中に限り使用でき、直前の"progress"イベント以降に受信したデータのみ含みます。"progress"イベントの途中でresponseにアクセスすると、responseには文字列およびデータが含まれています。それ以外の場合はnullが返ります。現在、このモードは Firefox に限り動作します。
"moz-chunked-arraybuffer""arraybuffer"に似ていますが、こちらはストリーミングです。responseの値は"progress"イベントの発生中に限り使用でき、直前の"progress"イベント以降に受信したデータのみ含みます。"progress"イベントの途中でresponseにアクセスすると、responseには文字列およびデータが含まれています。それ以外の場合はnullが返ります。現在、このモードは Firefox に限り動作します。
註: Gecko 11.0 (Firefox 11.0 / Thunderbird 11.0 / SeaMonkey 2.8) より WebKit build 528 と同様に、同期リクエストの実行中に
responseType属性を使用できなくなりました。属性の使用を試みると、NS_ERROR_DOM_INVALID_ACCESS_ERR例外が発生します。この変更は、W3C へ標準化の提案が行われました。 XMLHttpRequest.responseXML読取専用 読取専用- リクエストに対する、DOM
Documentオブジェクト形式のレスポンスです。リクエストが完了していない、成功しなかった、もしくは XML または HTML としてパースに失敗した場合、この値はnullとなります。レスポンスはtext/xmlストリームとしてパースされます。responseTypeを"document"に設定しており、またリクエストを非同期に実行した場合は、レスポンスをtext/htmlストリームとしてパースします。註: サーバーがtext/xmlContent-Type ヘッダを付与していない場合、overrideMimeType()を用いることで、XMLHttpRequestに強制的に XML としてパースさせることができます。 XMLHttpRequest.status読取専用- リクエストに対するレスポンスのステータスを
unsigned short型の値で返します。この値は HTTP リザルトコードとなります (例えばリクエストに成功した場合、statusは 200 となります)。 XMLHttpRequest.statusText読取専用- HTTP サーバーから返ってきたレスポンス文字列を
DOMString型の値で返します。XMLHTTPRequest.statusとは異なり、("200 OK" のように) レスポンスメッセージの完全な文が含まれています。 XMLHttpRequest.timeout- リクエストを自動的に終了できるようになるまでの時間をミリ秒単位で表す、
unsigned long型の値です。値 0 (デフォルト値) は、タイムアウトしないことを示します。註: 自身の window で、同期リクエスト向けにタイムアウトを使用することはできません。 - 非同期リクエストでタイムアウトを使用する
XMLHttpRequestEventTarget.ontimeout- リクエストがタイムアウトする都度呼び出される
EventHandler。 XMLHttpRequest.upload読取専用- アップロードプロセスを表す
XMLHttpRequestUpload。これは不透過オブジェクトですが、XMLHttpRequestEventTargetイベントリスナを加えることにより、アップロードプロセスを追跡することができます。 XMLHttpRequest.withCredentials- クロスサイト
Access-Controlリクエストに cookie や認証ヘッダといった認証情報を使用させるかを示すBoolean型の値です。 - またこのフラグは、リクエストで cookie を無視することを示すためにも使用します。
- デフォルト値は
falseです。註: 同一サイトでのリクエストに影響を与えることはありません。註: Gecko 11.0 (Firefox 11.0 / Thunderbird 11.0 / SeaMonkey 2.8) より、同期リクエストの実行中にwithCredentials属性を使用できません。属性の使用を試みると、NS_ERROR_DOM_INVALID_ACCESS_ERR例外が発生します。註:Access-Control-ヘッダの値に関わらず、リクエストを実行する前にwithCredentialsをtrueに設定しなければ、異なるドメインからのXmlHttpRequestのレスポンスに自ドメイン向けの cookie の値を設定することはできません。
非標準プロパティ
| 属性 | 型 | 説明 |
|---|---|---|
channel 読取専用 |
nsIChannel |
リクエストの実行の際にオブジェクトによって使われるチャンネルです。チャンネルが作成されていない場合、この値は null となります。マルチパート・リクエストにおいてこの値は、マルチパート・リクエスト中の別々のパートではなく、最初のチャンネルとなります。アクセスには昇格された権限が必要です。 |
mozAnon 読取専用 |
boolean |
true である場合、リクエストは cookie や認証ヘッダを伴わずに送信します。 |
mozSystem 読取専用 |
boolean |
true である場合、リクエストで同一オリジンポリシーは適用されません。 |
mozBackgroundRequest |
boolean |
このプロパティは Web content で使用できません。アクセスには昇格された権限が必要です。 オブジェクトがバックグラウンドサービスのリクエストであるかどうかを示します。 この場合において、(認証や不正な証明書の通知といった) セキュリティダイアログが通常通り表示されたのであれば、単純にリクエストが失敗したことを意味します。 註: このプロパティは、
open() を呼び出す前に設定しなければなりません。 |
mozResponseArrayBuffer 廃止 Gecko 6 読取専用 |
ArrayBuffer |
リクエストに対する、JavaScript typed array 形式でのレスポンス。この値が NULL である場合、リクエストが成功しなかった、またはリクエストがまだ送信されていないかもしれません。 |
multipart 廃止 Gecko 22 |
boolean |
これは Gecko 独自の機能であり、Firefox/Gecko 22 で削除しました。代わりに Server-Sent Events、Web Sockets、または progress イベントの レスポンスが複数の XML 文書のストリームになることが予想されるかどうかを表します。 これによりサーバーからのプッシュ通信が可能になります。ひとつひとつの XML document を、このリクエスト形式で記述することにより、ドキュメントが送られてくる都度、新たな XML DOM document が生成され、 註:
true に設定された場合、最初の XMLdocument が読み込まれて以降、onload ハンドラと他のイベントハンドラはリセットされません。そして以後、レスポンスの断片を受け取る度に onload ハンドラが呼び出されることとなります。 |
コンストラクタ
XMLHttpRequest()
XMLHttpRequest を生成するコンストラクタです。これは、他のメソッドを呼び出す前に呼び出さなければなりません。
Gecko/Firefox 16 で、anonymous モードを有効化できる非標準のパラメータをコンストラクタに追加しました (バグ 692677 をご覧ください)。mozAnon フラグを true に設定すると、XMLHttpRequest 仕様に記載されている AnonXMLHttpRequest() コンストラクタに事実上似たものになります。なお、これはどのブラウザでも未実装です (2012 年 9 月現在)。
XMLHttpRequest ( JSObject objParameters );
引数 (非標準)
objParameters- 2 つのフラグを設定できます:
mozAnon- Boolean:
trueに設定すると、リソースを読み込む際にブラウザはオリジンやユーザクレデンシャルを公開しません。さらに重要なこととして、明示的に setRequestHeader を使用しなければ cookie を送信しません。 mozSystem- Boolean:
trueに設定すると、サーバーに CORS の使用のオプトインを要求することなくクロスサイト接続を許可します。mozAnon: trueの設定が必要です。すなわち、cookies やユーザクレデンシャルと組み合わせて送信することはできません。これは privileged (reviewed) アプリのみで動作します。Firefox で読み込む任意の Web ページでは動作しません。
メソッド
abort()
リクエストがすでに送信されている場合、リクエストを中止します。
getAllResponseHeaders()
DOMString getAllResponseHeaders();
CRLF で区切られた文字列として、すべてのレスポンスヘッダを返します。レスポンスを何も受け取らなかった場合は null を返します。註: マルチパートリクエストでは、オリジナルのチャンネルではなく、リクエストの現在のパートのヘッダを返します。
getResponseHeader()
DOMString? getResponseHeader(DOMString header);
指定したヘッダ文を含む文字列を返します。レスポンスを受信していない、またはレスポンス中に指定したヘッダが存在しない場合は null を返します。同じ名前で複数のレスポンスヘッダが存在する場合はひとつに連結された文字列として値が返り、それぞれの値はカンマと空白で前の値と区切られます。getResponseHeader() メソッドは、UTF バイトシーケンスで値を返します。
open()
リクエストを初期化します。このメソッドは JavaScript から使用するようにしてください。ネイティブコードからの初期化には、代わりに openRequest() を使用するようにしてください。
open() または openRequest() が既に呼び出された状況) で、このメソッドを呼び出した場合、abort() を呼び出すのと等価となります。void open( DOMString method, DOMString url, optional boolean async, optional DOMString user, optional DOMString password );
引数
method- 使用する HTTP メソッド。"GET"、"POST"、"PUT"、"DELETE" など。HTTP(S) URL でない場合は無視されます。
url- リクエストを送信する URL
async- 非同期で操作を実行するかを示す、オプションの真偽値です。デフォルトでは
trueに設定されています。falseが設定されている場合、send()メソッドはレスポンスを受信するまで返しません。trueが設定されている場合、トランザクションが完了した通知は、イベントリスナによって提供されます。multipart属性がtrueである、または例外が投げられるであろう場合、この値はtrueでなければなりません。註: Gecko 30.0 (Firefox 30.0 / Thunderbird 30.0 / SeaMonkey 2.27) よりメインスレッドでの同期リクエストは、ユーザエクスペリエンスに悪影響があるため非推奨になりました。 user- 認証を目的として使用される、ユーザー名のオプションです。デフォルトでは、空の文字列となっています。
password- 認証を目的として使用される、パスワードのオプションです。デフォルトでは、空の文字列となっています。
overrideMimeType()
サーバーから返ってくる MIME タイプを上書きします。例えば、サーバーの返す MIME タイプに関わらず、強制的に text/xml としてストリームをパースするなどの用途に使えるでしょう。このメソッドは send() が呼び出される前に呼び出す必要があります。
void overrideMimeType(DOMString mimetype);
send()
リクエストを送信します。非同期リクエストの場合 (デフォルトの場合ですが)、メソッドはリクエストを送信して間もなく返ります。同期リクエストの場合、このメソッドはレスポンスが到着するまで返りません。
send() を呼び出す前に、イベントリスナを設定する必要があります。ArrayBuffer を引数として使用しなくなったことに注意してください。これは XMLHttpRequest の仕様に含まれていません。代わりに ArrayBufferView を使用してください (バージョン情報は、ブラウザ互換性の一覧表を参照してください)。void send();void send(ArrayBuffer data);void send(ArrayBufferView data); void send(Blob data); void send(Document data); void send(DOMString? data); void send(FormData data);
脚注
data が Document である場合、送信の前にシリアライズされます。Document を送信するとき、Firefox 3 までのバージョンでは常に UTF-8 エンコーディングを用いてリクエストが送信されます。Firefox 3 では、正確に body.xmlEncoding で指定されている、またはエンコードの指定が無い場合は UTF-8 を用いてエンコードされたドキュメントを送信します。
data が nsIInputStream の場合、nsIUploadChannel の setUploadStream() メソッドと互換性が無ければなりません。その場合、リクエストの Content-Length ヘッダに nsIInputStream の available() メソッドを用いて取得された値が設定されます。メッセージ本文の一部として扱われるストリームの最初には、あらゆるヘッダが含まれます。ストリームの MIME タイプは、send() よりも先に呼び出した setRequestHeader() メソッドを用いて設定された Content-Type ヘッダが指定されるはずです。
バイナリコンテンツを送信する (ファイルのアップロードなど) 最良の方法は、ArrayBufferView または Blobs と send() メソッドを組み合わせることです。ただし、文字列変換が可能なデータを送信したい場合は、代わりに sendAsBinary() メソッドまたは StringView Non native typed array スーパークラスを使用してください。
setRequestHeader()
HTTP リクエストヘッダの値を設定します。setRequestHeader() は open() の後、およびsend() の前に呼び出さなくてはいけません。同じヘッダについてこのメソッドを複数回呼び出した場合は、値がひとつのリクエストヘッダに統合されます。
void setRequestHeader( DOMString header, DOMString value );
セキュリティ上の理由から、一部のヘッダはユーザエージェントのみ制御できます。このようなヘッダは forbidden header names や forbidden response header names に含まれています。
引数
header- 設定されるヘッダーの名前。
value- 設定されるヘッダーの本文の値。
非標準メソッド
init()
C++ コードから使用するために、オブジェクトを初期化します。
[noscript] void init( in nsIPrincipal principal, in nsIScriptContext scriptContext, in nsIGlobalObject globalObject, in nsIURI baseURI, [optional] in nsILoadGroup loadGroup );
引数
principal- レスポンスに用いる principal。
nullは禁止されています。 scriptContext- リクエストに用いたスクリプトコンテクスト。
nullは禁止されています。 globalObject- リクエストでグローバルオブジェクトとして使用するオブジェクト。通常、これは
Windowですが、サンドボックスやバックステージパスにすることもできます。nullにすることもできますが、リクエストがdocumentを生成できなくなります。なお Firefox 23 より前のバージョンでは、常にWindowでした。 baseURI- リクエストを扱う際に、相対 URI を解決するために使用するベース URI。
nullにすることができます。 loadGroupOptional Gecko 37 が必要- リクエストを実行する際に使用する読み込みグループであり、省略可能です。ここで指定したグループは、読み込みグループががすでに存在する window がグローバルであっても使用します。
openRequest()
リクエストを初期化します。このメソッドはネイティブコードから使用するようにしてください。JavaScript コードからの初期化には、代わりに open() を使用するようにしてください。open() の項目を参照してください。
sendAsBinary()
非推奨 Gecko 31バイナリデータを送る、send() メソッドの亜種です。
send(Blob data) を使用できます。void sendAsBinary( in DOMString body );
このメソッドを FileReader API の readAsBinaryString メソッドと組み合わせて使用すると、任意の種類のファイルの読み込みおよびアップロード や生データの stringify が可能になります。
引数
body- DOMstring 形式のリクエスト本体です。このデータは切り捨て処理 (それぞれの文字の上位バイトを削除) によって 1 バイト文字の文字列に変換されます。
sendAsBinary() のポリフィル
sendAsBinary() は実験的な機能であるため、sendAsBinary() はサポートしないが typed arrays をサポートするブラウザ向けのポリフィルを示します。
/*\
|*|
|*| :: XMLHttpRequest.prototype.sendAsBinary() Polyfill ::
|*|
|*| https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#sendAsBinary()
|*|
\*/
if (!XMLHttpRequest.prototype.sendAsBinary) {
XMLHttpRequest.prototype.sendAsBinary = function (sData) {
var nBytes = sData.length, ui8Data = new Uint8Array(nBytes);
for (var nIdx = 0; nIdx < nBytes; nIdx++) {
ui8Data[nIdx] = sData.charCodeAt(nIdx) & 0xff;
}
/* send as ArrayBufferView...: */
this.send(ui8Data);
/* ...or as ArrayBuffer (legacy)...: this.send(ui8Data.buffer); */
};
}
send() の引数として 2 種類のデータを渡す形でポリフィルを構築できます。ArrayBuffer (ui8Data.buffer – コメントアウトされているコード) または ArrayBufferView (ui8Data、これは 8 ビット符号なし整数値の typed array – コメントアウトしていないコード) です。しかし Google Chrome では ArrayBuffer を送信しようとすると、ArrayBuffer is deprecated in XMLHttpRequest.send(). Use ArrayBufferView instead. という警告メッセージが表示されます。この他に、StringView Non native typed arrays スーパークラスと send() メソッドを組み合わせてバイナリデータを送信する方法があります。註
- デフォルトでは、Firefox 3 では
XMLHttpRequestのサーバー毎の接続数は 6 つずつに制限されています (それ以前のバージョンではこの値はサーバーごとに 2 つずつでした)。いくつかのインタラクティブな Web サイトではXMLHttpRequestの接続を開いたままにしており、そうしたサイトでは複数のセッションが開かれているために、ウィンドウの再描画が行われなかったり操作に反応しなくなるなど、ブラウザが応答しなくなるかもしれません。この値はabout:config内のnetwork.http.max-persistent-connections-per-serverの設定を編集することにより変更が可能です。 - Gecko 7.0 より、
setRequestHeader()によって設定されるヘッダーが、リダイレクト時にもリクエストとともに送信されるようになりました。以前では、これらのヘッダーが送信されることはありませんでした。 XMLHttpRequestは Gecko に於いてnsIXMLHttpRequest、nsIXMLHttpRequestEventTarget、およびnsIJSXMLHttpRequestインターフェースを用いて実装されています。- リクエストがタイムアウトしたときに、"timeout" イベントが発生します。
イベント
XMLHttpRequest インスタンスのプロパティとして、onreadystatechange がすべてのブラウザでサポートされています。
後に、多くのブラウザでは追加でイベントハンドラがいくつもサポートされてきました (onload、onerror、onprogress など)。これらは Firefox でもサポートされています。詳細は、nsIXMLHttpRequestEventTarget および XMLHttpRequest の利用を参照してください。
Firefox を含む最近のブラウザでは、XMLHttpRequest のイベントを監視する方法として、on* プロパティにハンドラ関数を設定する方法に加え、標準のイベントの addEventListener API を使用してイベントを監視する方法が提供されています。
許可設定
例えば Firefox OS のアプリなど、mozSystem プロパティを通してシステム XHR を使用する際は、マニフェストファイルに systemXHR の許可設定を追加しなければなりません。システム XHR は privileged または certified アプリで使用できます。
"permissions": {
"systemXHR":{}
}
仕様
| 仕様書 | 策定状況 | コメント |
|---|---|---|
| XMLHttpRequest | 現行の標準 | WHATWG living standard |
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| 基本サポート (XHR1) | 1 | 1.0 (1.7 or earlier)[1] | 5[2] 7 |
(有) | 1.2 |
send(ArrayBuffer) |
9 | 9.0 (9.0) | 10 | 11.60 | ? |
send(ArrayBufferView) |
22 | 20.0 (20.0) | ? | ? | ? |
send(Blob) |
7 | 3.6 (1.9.2) | 10 | 12 | ? |
send(FormData) |
6 | 4.0 (2.0) | 10 | 12 | ? |
sendAsBinary(DOMString) |
未サポート[3] | 2.0 (1.8.1) | 未サポート | 未サポート | 未サポート |
response |
10 | 6.0 (6.0) | 10 | 11.60 | (有) |
responseType = 'arraybuffer' |
10 | 6.0 (6.0) | 10 | 11.60 | (有) |
responseType = 'blob' |
19 | 6.0 (6.0) | 10 | 12 | (有) |
responseType = 'document' |
18 | 11.0 (11.0) | 10 | 未サポート | 6.1 |
responseType = 'json' |
31 | 10.0 (10.0) | 未サポート | 12[4] 未サポート 16 17 |
(有) |
| Progress イベント | 7 | 3.5 (1.9.1) | 10 | 12 | (有) |
withCredentials |
3 | 3.5 (1.9.1) | 10 | 12 | 4 |
timeout |
29.0[5] | 12.0 (12.0) | 8 | 12[6] 16 |
(有) |
responseType = 'moz-blob' |
未サポート | 12.0 (12.0) | 未サポート | 未サポート | 未サポート |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | ? | 1.0 | (有) | ? | ? | ? |
send(ArrayBuffer) |
? | ? | ? | ? | ? | |
send(ArrayBufferView) |
? | ? | ? | ? | ? | |
send(Blob) |
? | ? | ? | ? | ? | |
send(FormData) |
? | ? | ? | ? | ? | |
sendAsBinary(DOMString) |
? | ? | ? | ? | ? | |
response |
? | ? | ? | ? | ? | |
responseType = 'arraybuffer' |
? | ? | ? | ? | ? | |
responseType = 'blob' |
? | ? | ? | ? | ? | |
responseType = 'document' |
? | ? | ? | ? | ? | |
responseType = 'json' |
? | ? | ? | ? | ? | |
| Progress イベント | ? | ? | ? | ? | ? | |
withCredentials |
? | ? | ? | ? | ? | |
timeout |
? | ? | ? | ? | ? | |
responseType = 'moz-blob' |
? | ? | ? | ? | ? |
[1] Gecko 11.0 (Firefox 11.0 / Thunderbird 11.0 / SeaMonkey 2.8) で、同期リクエストの実行時における responseType および withCredentials 属性の使用のサポートを廃止しました。属性の使用を試みると、NS_ERROR_DOM_INVALID_ACCESS_ERR 例外が発生します。この変更は、W3C へ標準化の提案が行われました。
Gecko 12.0 (Firefox 12.0 / Thunderbird 12.0 / SeaMonkey 2.9) 以降で、data: URL の読み込みで XMLHttpRequest をサポートしました。
Gecko 20.0 (Firefox 20.0 / Thunderbird 20.0 / SeaMonkey 2.17) で、ArrayBufferView の送信をサポートしました。ArrayBuffer の送信は XMLHttpRequest 仕様に含まれおらず、非推奨として扱うべきです。
[2] この機能は ActiveXObject() により実装していました。Internet Explorer 7 より、標準の XMLHttpRequest を実装しています。
[3] sendAsBinary() をサポートするポリフィルを使用できます。
[4] Blink/Chromium に切り替える前の Opera は、Opera 12 から 15 まで responseType=json をサポートしていました。後に、Blink (Opera 17) で再び実装されました。
[5] この機能は bug 231959 で実装しました。
[6] how to set and handle timeouts をご覧ください。
関連情報
- XMLHttpRequest に関連する MDN の記事
- W3C およびブラウザベンダの XMLHttpRequest リファレンス:
- W3C: XMLHttpRequest (基本機能)
- W3C: XMLHttpRequest (基本機能の拡張についての最新のエディターズドラフト。公式には XMLHttpRequest Level 2 と呼ばれています。)
- Microsoft の文書
- Apple developers' reference
- "Using the XMLHttpRequest Object" (jibbering.com)
- XMLHttpRequest - REST and the Rich User Experience
- HTML5 Rocks - New Tricks in XMLHttpRequest2
- Thread on the naming convention of
XMLHttpRequest Chrome scope availability- DOM にアクセスしない JSM モジュールからアクセスする方法