Ajax及びHTTP状態値

4711 ワード

一、Ajaxとは何か、動作原理
1、Ajax(Asynchronous JavaScript And XML--非同期JavaScriptとXML)2、バックグラウンドでサーバと少量のデータ交換を行うことで、AJAXはウェブページを非同期更新することができる.これは、Webページ全体を再ロードせずに、Webページの一部を更新できることを意味します.
さぎょうげんり
Ajax及HTTP状态值_第1张图片
二、XMLHttpRequestオブジェクト
Ajaxの核心はXMLHttpRequestオブジェクト(XHRと略称)XMLHttpRequestがバックグラウンドでサーバとデータを交換するために使用される
function createXMLHttpRequest(){
    //      
    try {
        return new XMLHttpRequest();   //      
    } catch (e) {
        try {
            return ActiveXobject("Msxm12.XMLHTTP");//IE6.0
        } catch (e) {
            try {
                //IE5.5       
                return ActiveXobject("Microsoft.XMLHTTP");
            } catch (e) {
                alert("        ~~~~");
                throw e;
            }
        }
    }
}

var xmlHttp = createXMLHttpRequest();//非同期オブジェクトの作成
二、XHR(XMLHttpRequest)の使い方
a、XHRオブジェクトを使用する場合、呼び出す最初の方法はopen(method,url,async)である.
method:送信するリクエストのタイプ(get/postは一般的に大文字)
url:要求されたアドレス(相対パスまたは絶対パス)-サーバ上のファイルの場所
async:要求を非同期で送信するかどうかを示すブール値true(非同期)またはfalse(同期)
注意:
1、URL:実行コードの現在のページに対して
2、open()メソッドを呼び出すと、実際にリクエストが送信されるのではなく、送信の準備のためにリクエストが開始されるだけです.
b、特定のリクエストを送信するにはsend()メソッドが必要
send()メソッドは、要求体として送信されるデータを要求するパラメータを受信する
(getメソッドsend呼び出し時null入力)
(GET) Ajax及HTTP状态值_第2张图片 这里写图片描述 (POST) Ajax及HTTP状态值_第3张图片 Ajax及HTTP状态值_第4张图片
c、XMLHttpRequest応答取得
1.reponseText:文字列形式の応答データを得る
2、reponseXML:XML形式の応答データを取得する
3、statusとstatusText:HTTPステータスコードを数字とテキストで返す(status:応答のHTTPステータス:200、404、500、302********************statusText:“OK”)
4、getAllResponseHeader:すべての応答ヘッダを取得する
5、getResponseHeader():クエリー応答のフィールドの値
d、応答を受信した後、第1ステップはstatus属性を検査し、応答が正常に戻ったことを決定する
e、非同期要求を送信する場合、XHRオブジェクトのreadyState属性を検出することができ、この属性は要求/応答プロセスの現在の活動段階を表す
この属性の値:
0:初期化されていません.openメソッドは呼び出されていません.
1:起動、サーバ接続が確立され、openメソッドが呼び出されましたが、sendメソッドは呼び出されていません.
2:sendメソッドが呼び出されたが、応答は受信されていない.
3:受信、リクエスト処理中(インタラクティブ、応答内容を解析中、すなわちサーバが応答を開始したが、応答が終了したことを示さない)
4:完了、対応するすべてのデータが受信され、クライアントで使用可能(リクエストが完了し、応答が完了)
注意:
readyStateプロパティの値が1つの値から別の値に変更されると、readystatechangeイベント(このイベントを使用してステータスが変化するたびにreadyState値を検出できる)Ajax及HTTP状态值_第5张图片がトリガーされます.