ホームページ  >  記事  >  ウェブフロントエンド  >  ajaxリクエストのステータスは何ですか?

ajaxリクエストのステータスは何ですか?

青灯夜游
青灯夜游オリジナル
2022-01-19 17:35:563501ブラウズ

Ajax リクエストのステータス: 1. 「未初期化」は、send() メソッドがまだ呼び出されないことを意味します; 2. 「ロード中」は、send() メソッドが呼び出され、リクエストが送信中; 3. 「読み込み中」「入力完了」; 4. 「対話型」、応答コンテンツが解析中であることを示す; 5. 「完了」、応答コンテンツの解析が完了し、クライアントで呼び出すことができることを示す。

ajaxリクエストのステータスは何ですか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

ネイティブ Ajax リクエスト記述メソッド:

   var http = new XMLHttpRequest();
    http.open('get','./package.json');
    http.onreadystatechange = function () {
        if(http.readyState == 4 && http.status == 200) {
           var result = JSON.parse(http.responseText);
            console.log(result.name)
        }
    };
    http.send();

5 の Ajax リクエストの状態 (readyState)

  • 0 - (初期化されていない) send() メソッドはまだ呼び出されていません

  • 1 - (読み込み中) send() メソッドが呼び出され、リクエストが送信されています

  • 2 - (読み込み完了) send() メソッドが実行され、すべての応答コンテンツが受信されました

  • 3 - (インタラクション) 応答コンテンツが解析中です

  • #4 - (完了) 応答コンテンツの解析が完了し、クライアントで呼び出すことができます

##readyState ステータスの説明

(0)Uninitialized

このステージでは、XMLHttpRequest オブジェクトが作成されているかどうかを確認し、非初期化の準備のために open() メソッドを呼び出しません。 0 以外の値は、オブジェクトがすでに存在していることを示します。それ以外の場合、ブラウザはエラーを報告します --- オブジェクトは存在しません。

(1) 読み込み

この段階では、xml (標準化が近づいています) HttpRequest オブジェクトが初期化されます。つまり、パラメーター (メソッド) に従って、open() メソッドが呼び出されます。 , url, true) オブジェクトのステータスの設定が完了しました。そして、send() メソッドを呼び出して、サーバーへのリクエストの送信を開始します。値 1 は、リクエストがサーバーに送信されていることを示します。

(2) 読み込み完了

この段階でサーバーからの応答データを受信します。ただし、取得されるのはサーバー応答の元のデータのみであり、クライアントで直接使用することはできません。値 2 は、すべての応答データが受信されたことを示します。そして、データ分析の次の段階に備えることができます。

(3)インタラクション

このステージでは、受信したサーバー側の応答データを解析します。つまり、サーバー側の応答ヘッダーによって返された MIME タイプに従って、データは、responseBody、responseText、または responsexml (標準化が近づいています) 属性を通じてアクセスできる形式に変換され、サーバー上で呼び出す準備が整います。クライアント。ステータス 3 は、データが解析中であることを示します。

(4)完了

この段階では、すべてのデータがクライアントが使用できる形式に解析され、解析が完了したことを確認します。値 4 は、データ解析が完了し、xml (標準化が近づいています) HttpRequest オブジェクトの対応する属性を通じてデータを取得できることを示します。

[関連チュートリアルの推奨事項:

AJAX ビデオ チュートリアル

]

以上がajaxリクエストのステータスは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。