--- title: XMLHttpRequest.onreadystatechange slug: Web/API/XMLHttpRequest/onreadystatechange tags: - API - Event - Reference - XHR - XMLHttpRequest - onreadystatechange - readyState - イベント - ハンドラー - プロパティ translation_of: Web/API/XMLHttpRequest/onreadystatechange ---
{{event("Event_handlers", "event handler")}} で、 readyState
属性が変化するたびに呼び出されます。コールバックはユーザーインターフェイスのスレッドから呼び出されます。 XMLHttpRequest.onreadystatechange
プロパティは、 {{domxref("Document/readystatechange_event", "readystatechange")}} イベントが発生するたびに、つまり {{domxref("XMLHttpRequest")}} の {{domxref("XMLHttpRequest.readyState", "readyState")}} が変化するたびに呼び出されるイベントハンドラーを保持します。
警告: これは同期要求で使用してはいけません。また、ネイティブコードから使用してはいけません。
XMLHttpRequest.onreadystatechange = callback;
callback
は readyState
が変化したときに実行される関数です。const xhr = new XMLHttpRequest(), method = "GET", url = "https://developer.mozilla.org/"; xhr.open(method, url, true); xhr.onreadystatechange = function () { // ローカルファイルでは、 Mozilla Firefox で成功するとステータスは0になります if(xhr.readyState === XMLHttpRequest.DONE) { var status = xhr.status; if (status === 0 || (status >= 200 && status < 400)) { // リクエストが正常に終了した console.log(xhr.responseText); } else { // あらら! リクエストでエラーが発生しました! } } }; xhr.send();
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('XMLHttpRequest', '#handler-xhr-onreadystatechange')}} | {{Spec2('XMLHttpRequest')}} | WHATWG living standard |
{{Compat("api.XMLHttpRequest.onreadystatechange")}}