JSのAjaxリクエストネイティブ

AJAXとは何ですか

すべての近代的なブラウザは、XMLHttpRequestのオブジェクト(IE5やIE6の使用ActiveXObjectの)をサポートしています。

バックグラウンドでサーバーとデータを交換するためのXMLHttpRequest。この手段は、ことのページの特定の部分のために、ページ全体をリロードせずに更新します。

簡単な例:

 

機能要求(){
     VAR HTTP = 新しい新規のXMLHttpRequest()       // オブジェクトを作成するAJAX 
    http.open( "GET"、 "test1.txtという"、真の);    // 同期または非同期モード要求アドレスを要求(リクエストの所定のタイプ) 
    HTTP .setRequestHeader( "コンテンツタイプ"、 "ファイルアプリケーション/ x-www-form-urlencodedで");   // ヘッダ要求 
    http.sendは()                           // (サーバへのリクエスト送信) 
    ajax.onreadystatechange = 関数(){   //   要求応答
        IF(ajax.readyState == == 200 4 ajax.status &&である。){ 
            にconsole.log(JSON.parse(ajax.responseText)); 
        } 
    }
  }
  リクエスト()   // コール

 

XMLHttpRequestオブジェクト

すべての最新ブラウザ(IE7 +、Firefoxの、クロム、SafariやOperaは)ビルトインされているのXMLHttpRequestオブジェクト(IE5やIE6の使用ActiveXObjectの)

VARのhttp = 新しい XMLHttpRequestを()
open()メソッド

これは、3つのパラメータを受け取ります。

  1.method:このようGET、POSTなどの要求タイプ、。

  2.url:要求アドレス。

  3.async:現在の要求の規定は、デフォルトでは(記入しない)非同期で、非同期です。(真の非同期、偽同期)

 
http.open( "GET"、 "https://api.apiopen.top/recommendPoetry");
 
 
setRequestHeader方法

次に、我々はsetRequestHeader法により要求ヘッダーを設定します。注:この方法は、open()メソッドが実行された後に設定しなければなりません。(されていることを、あなたは最初のopen()メソッドを呼び出す必要があります)。コードは以下の通りであります:

http.setRequestHeader( "コンテンツタイプ"、 "アプリケーション/ x-www-form-urlencodedで")。

 

sendメソッド

この方法は、サーバへの送信要求を示しています。

要求タイプは、投稿する場合は、send()メソッドにはパラメータが1つ、あなたが背景に合格するために必要なパラメータを受け付けます。リクエストがnullを埋めるか埋めることはできません取得

http.send()

 

readyStateのプロパティ

readyStateのは、XMLHttpRequestのオブジェクトのプロパティは、それが当社のサーバーステータス情報への応答を意味しています。readyStateのプロパティの5つの値の合計:

  • 0:要求が初期化されていません(プロキシが作成されますが、まだ(オープン呼び出しです)メソッド)
  • 1:サーバー接続が確立される(openメソッドが呼び出されました)
  • 2:要求(受信されたsendメソッドが呼び出されており、状態及びヘッドがすでに利用可能です)
  • 3:要求を処理する(ダウンロードには、responseText プロパティは、すでに一部のデータが含まれています)
  • 4:(ダウンロード操作が完了した)要求が完了した、と応答が準備ができています

 

onreadystatechangeにする方法

たびのreadyStateプロパティが変更我々がこの方法サーバーへの対応を取りに行くことができますので、それは、onreadystatechangeに()メソッドがトリガーされます。

readyStateの値が4に等しい、と示している場合、要求が完了し、サーバは、私たちに結果を返しました。

=関数http.onreadystatechange(){ 
   //は4に等しく、readyStateの状態が200に等しい(成功したリクエストを示す)
  IF(4 && ajax.status ajax.readyState == == 200){ 
      にconsole.log(ajax.responseText); //サーバ応答の結果
  }   
}

 

responseTextとresponseXMLをプロパティ

responseText:応答データ列が得られます。

responseXML:XMLとして応答データを取得します。

私たちは、上記の使用responseTextプロパティですが、一般的にそのJSON形式のデータを必要とし、我々はJSONオブジェクトにその文字列ようJSON.parse()を使用することができます。コードは以下の通りであります:

=関数http.onreadystatechange(){ 
   //は4に等しく、readyStateの状態が200に等しい(成功したリクエストを示す)
  IF(4 && ajax.status ajax.readyState == == 200){ 
      にconsole.log(JSON.parse(ajax.responseText )); //サーバ応答結果
  }   
}

 

おすすめ

転載: www.cnblogs.com/huancheng/p/12010953.html