3

"4"(完了)とは異なるreadyStateでonreadystatechangeを傍受するためにXHRオブジェクトを使用したことがありますか?XHR.onreadystatechangeコールバックで "4"(完全)と異なるreadyStateが便利に使用されていますか?

可能性のあるさまざまな値で関数をトリガーしたことがあるのか​​どうか不思議です。 私は他の状態の実際の使用を想像することはできません。彼らは何かをするのに幾分役立つのですか?

実用的な例があれば教えてください。

I'm talking about these

  • 0:
  • 1に初期化されていないリクエスト:サーバ接続が
  • 2を設立:要求が
  • 3を受けた:処理要求
  • 4:終了要求および応答の準備ができています

答えて

2

私はそれを使用していますイントラネット上で私は通知目的で開発しました。 状態3をインターセプトすることによって、要求が開始されたことをユーザーに通知できます。

私はまた、要求送信時間を計るために使用します。追加のノートで

var EarlyRequest = new Class({Extends: Request, 
onStateChange: function() { 
    this.fireEvent("onStateChange", [this.xhr.readyState]); 
    this.parent(); 
} 
}); 

:私はにOnStateChangeイベントを発生するためにRequestクラスを拡張MooToolsのを使用しているので、私は状態3と4

間の経過時間を表示します。 (w3cschoolsから)あなたが掲示状態の定義誤解され、これらは(http://www.w3.org/TR/XMLHttpRequest/#statesから)私には明確です:

  • UNSENT(数値0) オブジェクトが構築されています。

  • オープン(数値1) open()メソッドが正常に呼び出されました。この状態では、setRequestHeader()を使用してヘッダーを設定でき、send()メソッドを使用して要求を行うことができます。

  • HEADERS_RECEIVED(数値2) すべてリダイレクト(もしあれば)は、その後されており、最終的な応答の全てのHTTPヘッダが受信されています。オブジェクトのいくつかの応答メンバーが利用可能になりました。

  • LOADING(数値3) レスポンスエンティティボディが受信されています。 (数値4)

  • DONEデータ転送が完了したか何かが転送(例えば、無限リダイレクト)中に間違っていました。

関連する問題