--- title: XMLHttpRequest.timeout slug: Web/API/XMLHttpRequest/timeout tags: - AJAX - Reference - XHR - XMLHttpRequest - timeout - プロパティ - 非同期 XHR - 非同期 XMLHttpRequest translation_of: Web/API/XMLHttpRequest/timeout ---
{{APIRef('XMLHttpRequest')}}

XMLHttpRequest.timeout はリクエストが自動的に終了するまでの時間をミリ秒で示す unsigned long 型のプロパティです。既定値はタイムアウトが無いことを示す 0 に設定されています。 timeout は{{Glossary('document environment', '文書環境')}}で利用される同期型や InvalidAccessError の例外を投げる XMLHttpRequests に利用することはできません。タイムアウトとなった場合、 timeout イベントが発火します。 {{gecko_minversion_inline("12.0")}}

メモ: timeout は自分のウィンドウを持つ場合に同期で利用することは認められていません。
非同期リクエストでの timeout の使用

Internet Explorer においては、 timeout プロパティは open() メソッドを呼んでから send() メソッドを呼ぶまでの間しかセットすることはできません。

var xhr = new XMLHttpRequest();
xhr.open('GET', '/server', true);

xhr.timeout = 2000; // time in milliseconds

xhr.onload = function () {
  // Request finished. Do processing here.
};

xhr.ontimeout = function (e) {
  // XMLHttpRequest timed out. Do something here.
};

xhr.send(null);

仕様書

仕様書 状態 備考
{{SpecName('XMLHttpRequest', '#the-timeout-attribute')}} {{Spec2('XMLHttpRequest')}} WHATWG living standard

ブラウザーの対応

{{Compat("api.XMLHttpRequest.timeout")}}