ホームページ > ウェブフロントエンド > jsチュートリアル > Ajax 非同期リクエストの 5 つのステップを深く理解する (詳細なコード)

Ajax 非同期リクエストの 5 つのステップを深く理解する (詳細なコード)

yulia
リリース: 2018-09-17 17:24:24
オリジナル
31125 人が閲覧しました

フロントエンドの仕事では、ajax がよく使われますが、ajax が非同期リクエストであることだけを知っていて、その基本的な手順や ajax リクエストのプロセスについては知りません。次に、この記事では、Ajax リクエストの手順と、Ajax リクエスト ステップの詳細なコードを紹介します。興味のあるお友達は覗いてみてはいかがでしょうか。

AJAX (Asynchronous JavaScript and XML): インタラクティブな Web アプリケーションを作成するための Web 開発テクノロジを指します。AJAX は、バックグラウンドでサーバーと少量のデータを交換することで、Web ページの非同期更新を可能にします。これは、Web ページ全体を再読み込みしなくても、Web ページの一部を更新できることを意味します。

1. xmlHttpRequest オブジェクトの作成

すべての最新ブラウザ (IE7、Firefox、Chrome、Safari、Opera) は XMLHttpRequest オブジェクトをサポートしますが、IE5 と IE6 は ActiveXObject を使用します。

    if(window.XMLHttpRequest){
       xmlHttp = new XMLHttpRequest(); 
      if(xmlHttp.overrideMimeType){
        xmlHttp.overrideMimeType("text/xml");
      }
   }else if(window.ActiveXobject){
       var activeName =["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
       for(var i=0; i<activeName.length; i++){
          try{
              xmlHttp = new ActiveXobject(activeName[i]);
             break;
          }catch(e){
          }
       }     
   }
   if(!xmlHttp){
      alert("创建xmlhttprequest对象失败");
   }else{    
   }
ログイン後にコピー

2. コールバック関数を設定します

   xmlHttp.onreadystatechange= callback;
   function callback(){}
ログイン後にコピー

3. OPEN メソッドを使用してサーバーとの接続を確立します xmlHttp.open(" get","ajax ?name=" name,true)

このステップでは、HTTP リクエスト メソッド (post/get) の設定に注意してください。POST メソッドの場合は、リクエスト ヘッダーの設定に注意してください。 information xmlHttp.setRequestHeader("Content-Type","application /x-www-form-urlencoded")

4. サーバーにデータを送信します

  xmlHttp.send(null);
ログイン後にコピー

これは POST です。空にはなりません。

5. コールバック関数でさまざまな応答状態を処理します。

 if(xmlHttp.readyState == 4){
      //判断交互是否成功
      if(xmlHttp.status == 200){
        //获取服务器返回的数据
        //获取纯文本数据
        var responseText =xmlHttp.responseText;
       document.getElementById("info").innerHTML = responseText;
      }
  }
ログイン後にコピー

readyState 属性: 要求/応答プロセスの現在の段階を示します

0: 初期化されていません。 open() メソッドはまだ呼び出されていません。 ###1:始めます。 open() メソッドは呼び出されていますが、send() メソッドはまだ呼び出されていません。 ###2:送信します。 send() メソッドが呼び出されていますが、応答はまだ受信されていません。 ###3:受け取ります。部分的な応答データを受信しました。 ###4:完了です。すべての応答データが受信され、クライアントで使用できるようになりました。

XMLHttpRequest オブジェクトが上記の 5 つの手順を完了した後でのみ、サーバーから返されたデータを取得できます。

status 属性: レスポンス HTTP ステータスコード

200: レスポンス成功

301: 永続リダイレクト/永続転送

302: 一時リダイレクト/一時転送

304: 今回はコンテンツの取得キャッシュ内のデータを読み取ることです
400: リクエスト パラメーター エラー
401: アクセス権限がありません
404: アクセスされたリソースが存在しません



## 要約: 上記は Ajax リクエストの 5 つのステップと詳細なコードを紹介しています。これを読んだことがない人には難しく感じるかもしれませんが、読んだ後は試してみることができます。徐々に理解できるようになりますので、お役に立てれば幸いです。

以上がAjax 非同期リクエストの 5 つのステップを深く理解する (詳細なコード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート