「Pragmatic Ajax(Dynamic WebサイトStatic)Web 2.0 Primer」では、Readystaeの状態の紹介を誤って見ました。この紹介は非常に現実的だと思います。翻訳は次のとおりです。
0 :(非初期化)send()メソッドはまだ呼び出されていません。
1 :(読み込み)send()メソッドが呼び出され、リクエストが進行中です。
2 :(ロード)send()メソッドが完了し、応答全体が受信されました。
3 :(インタラクティブ)応答は解析されています。
4 :(完成)応答は解析され、収穫の準備ができています。
0-(非初期化)send()メソッドはまだ呼び出されていません
1-(ロード)send()メソッドが呼び出され、リクエストが送信されています
2-(読み込みが完了)send()メソッドが実行され、すべての応答コンテンツが受信されました
3-(相互作用)応答コンテンツは解析されています
4-(完了)応答コンテンツの解析が完了し、クライアントに呼び出すことができます
他の本のほとんどは、これらの5つのReadyState州についてあいまいです。たとえば、「Ajaxの基礎」では、州の「名前」は、本の表2-2に記載されているものです。これは、リクエストの状態です。 5つの可能な値は0 =非初期化、1 =ロード、2 =ロード、3 =インタラクティブ、4 =完全です。これらの5つの状態の詳細は、「Ajax(Dynamic WebサイトStatic)のアクション」ではまったく言及されていないようです。 「プロフェッショナルなajax」は満足のいくものではありませんが、まだ利点があります。
ReadyStateには5つの可能な値があります。
0(uninitialized):オブジェクトは作成されましたが、open()メソッドは呼び出されていません。
1(読み込み):open()メソッドが呼び出されましたが、リクエストは送信されていません。
2(ロード):リクエストが送信されました。
3(インタラクティブ)。部分的な応答が受信されました。
4(完全):すべてのデータが受信され、接続が閉じられています。
ReadyStateには5つの可能な値があります。
0(非初期化):( XML(標準化が近づいている)HTTPRequest)オブジェクトが作成されていますが、Open()メソッドはまだ呼び出されていません。
1(load):open()メソッドが呼び出されましたが、リクエストはまだ送信されていません。
2(読み込みが完了):リクエストが送信されました。
3(相互作用):応答データの一部を受信できます。
4(完全):すべてのデータが受信され、接続が閉じられています。
「Ajaxの理解:JavaScriptを使用してリッチインターネットアプリケーションを作成する」では、次の表について説明します。
ReadyStateステータスコード
XMLのステータス(標準化が近づいています)httprequestオブジェクト
(0)非初期化
オブジェクトは作成されましたが、初期化されていません。 (オープンメソッドは呼び出されていません。)
(XML(標準化が近づいています)HTTPRequest)オブジェクトは作成されていますが、まだ初期化されていません(開かれた方法はまだ呼び出されていません)。
(1)読み込み
オブジェクトが作成されましたが、送信メソッドは呼び出されていません。
(XML(標準化が近づいています)HTTPRequest)オブジェクトが作成されましたが、送信方法はまだ呼び出されていません。
(2)ロード
送信方法は呼び出されましたが、ステータスとヘッダーはまだ利用できません。
送信方法は呼び出されており、(HTTP応答)ステータスとヘッダーは使用できません。
(3)インタラクティブ
相互作用いくつかのデータが受信されました。この状態で応答ボディと応答プロパティを呼び出して部分的な結果を得ると、ステータスと応答ヘッダーが完全に利用できないため、エラーが返されます。
一部のデータが受信されました。ただし、この時点でResponsebodyとResponseTextプロパティを呼び出して結果を得ると、ステータスと応答ヘッダーが完全に利用できないため、エラーが発生します。
(4)完了しました
すべてのデータが受信されており、完全なデータはResponsebodyおよびResponseTextプロパティで使用できます。
すべてのデータが受信されており、完全なデータを応答ボディとレスポンステキストプロパティで抽出できます。
上記の本にReadyStateの5つの状態が導入されたことによれば、「Pragmatic Ajax(Dynamic WebサイトStatic)Web 2.0プライマー」が整っていると思います。これが、「(3)相互作用」段階が「(2)荷重完了」と「(4)完了」の間に必要な変換プロセスとして存在する理由です。つまり、そのタスクは何ですか。要約すると、理想的な説明方法は、「状態:タスク(目的) +プロセス +パフォーマンス(または特性)の表現パターンでこれらの状態を正確かつ簡単に理解できると思います。現在のトライアルの概要は次のとおりです。
ReadyStateステータスの説明
(0)初期化されていません
この段階では、XML(標準化が近づいている)HTTPRequestオブジェクトが作成されているかどうかを確認し、UnInitializationのOpen()メソッドを呼び出す準備をします。 0の値は、オブジェクトが既に存在することを意味します。そうしないと、ブラウザがエラーを報告します - オブジェクトは存在しません。
(1)負荷
この段階では、XML(標準化が近づいています)HTTPRequestオブジェクトが初期化されます。つまり、Open()メソッドが呼び出され、パラメーター(Method、URL、True)に従ってオブジェクト状態の設定を完了します。 Send()メソッドを呼び出して、サーバーにリクエストの送信を開始します。 1の値は、リクエストがサーバーに送信されていることを意味します。
(2)読み込みが完了します
この段階は、サーバー側から応答データを受信します。しかし、得られるのは、サーバーの応答の元のデータであり、クライアントで直接使用することはできません。 2の値は、完全な応答データが受信されたことを意味します。データ解析の次の段階に備えます。
(3)相互作用
この段階では、受信したサーバー側の応答データが解析されます。つまり、サーバー側の応答ヘッダーによって返されるMIMEタイプによれば、データは応答ボディ、Responsetext、またはResponseSEXML(標準化がますます近づいている)属性を介してアクセスできる形式に変換され、クライアントコールの準備が行われます。ステータス3は、データが解析されていることを意味します。
(4)完了しました
この段階では、すべてのデータがクライアントが利用できる形式に解析され、解析が完了したことを確認します。 4の値は、データが解析されたことを意味します。データは、HTTPRequestオブジェクトの対応するプロパティを介して取得できます(標準化はますます近づいています)。
要約すると、XML全体のライフサイクル(標準化が近づいています)HTTPRequestオブジェクトには、次の段階を含める必要があります。
作成 - リクエストを初期化 - リクエストを送信 - データを受信 - データを分析 - 完了します
特定のアプリケーションでは、ReadyStateの5つの状態(XML(標準化が近づいています)が近づいており、HTTPRequestオブジェクトのライフサイクルのさまざまな段階)の意味を明確にすることは、Ajax(静的Webサイト)の核心の謎を排除できます(曖昧なステートメントの背後には、謎の念を込めて、狂気の意味があります。学習の欲求不満を減らし、自信を高める。
たとえば、例に従ってください。
コードコピーは次のとおりです。
//配列を宣言します
var states = ["初期化..."、
「リクエストの初期化…成功!
リクエストを送信...」、
"成功!
データを受け取る...」
"仕上げる!
データの分析...」
"仕上げる!
”];
//コールバック関数の内部コードスニペット
if(xml(標準化が近づいている)http.readystate == 4)
{
var span = document.createelement( "span");
span.innerhtml = states [xml(標準化が近づいている)http.readystate];
document.body.AppendChild(SPAN);
if(xml(標準化が近づいている)http.status == 200)
{
var xml(標準化が近づいている)doc = xml(標準化が近づいている)http.responsexml(標準化が近づいている)。
//その他のコード
}
//メモリの漏れを防ぐためにそれを破壊することを忘れないでください
XML(標準化が近づいています)http = null;
}それ以外{
var span = document.createelement( "span");
span.innerhtml = states [xml(標準化が近づいている)http.readystate];
document.body.AppendChild(SPAN);
}結果は次のとおりです。
リクエストの初期化...成功!
リクエストの送信...成功!
データの受信...完了!
データの分析...完了!
XML(標準化が近づいている)がすべての段階で行っているXML(標準化が近づいている)を理解するのは簡単です。したがって、Ajaxのコア部分(動的WebサイトStatic)を本当にシンプルで明確に理解するのは簡単です。