ajax異步請求詳解

一、XMLHttpRequst的出現纔有了異步處理web

 

二、建立XmlHttpRequest對象瀏覽器

var request=new XMLHttpRequest();服務器

注意:若是要兼容IE6如下瀏覽器則須要編寫以下代碼app

        var request;異步

         if(window.XMLRequest){async

               request=new XMLRequestHttpRequest();  //IE七、IE八、360等url

          }else{code

               request=new ActiveXObject("Microsoft.XMLHTTP");//IE五、IE6orm

           }xml

 

三、XMLHttpRequest發送請求

(1)open(method,url,async),參數的意義以下

method:GET或者POST請求方法

url:相對地址或者絕對地址

async:true或者false,默認是true,表示異步

 

(2)send(String)

GET請求無參數,POST請求時必定要有參數

 

舉例A:

request。open("GET",'getDate',true);

request.send();

 

舉例B:

request.open("POST","getDate",true)

//默認是"application/x-www-from"-urlencoden"方式提交,若是是提交文件,則須要修改爲爲multipart/form-data方式提交

request.setRequestHeader("Content-type","application/x-www-from"-urlencoden");

request.send("name=王二&age=25");

 

四、XMLHttpRequest取得響應

(1)responseText:得到字符串形式的響應數據

(2)responseXML:得到xml形式的響應數據

(3)status和statusText:以數字和文本形式返回Http轉態碼

(4)getAllResponseHeader():得到因此得響應報頭

(5)getResponseHeader():查詢響應中的某個字段的值

(6)readState屬性

"0"請求未初始化,open還未調用

"1":服務器鏈接已經創建,open已調用

"2":請求已接收,也就是接收到頭信息了

"3":請求處理中,也就是接收到響應主體了

"4":請求已經完成,且響應就緒,響應完成了

 

舉例:

       var  request;

      request.open("GET","getDate",true);

      request.send();

      //監聽返回的轉態,200和4表明響應成功

      request.onreadystatechange=fuction(){

         if(request.readstate==4&&request.status==200){

               //須要處理的事務

         }

      }

 

六、HTTP請求:是一種規則,無狀態,無記憶

  HTTP請求過程

(1)創建TCP鏈接

(2)web瀏覽器向web服務器發送請求指令

(3)web瀏覽器發送請求頭信息

(4)web服務器應答

(5)web服務器發送應答頭信息

(6)web服務器向瀏覽器發送數據

(7)web服務器關閉TCP鏈接

 

A、HTTP請求的4個·組成部分

    a、HTTP請求方法或者動做(GET/POST)

     b、正在請求的URL

     c、請求頭,包含客戶環境信息、身份信息等

     d、請求體(正文),包含客戶提交的查詢字符串信息、表單信息

 

B、POST和GET方法

     GET:(1)用於信息獲取

               (2)使用URL傳遞參數

                (3)String<=2000個字符左右

     POST:(1)用於修改服務器上的資源

                 (2)String<=無窮大

 

C、一個HTTP響應由三個部分組成

       a、一個數字和文字組成的轉態碼。做用:顯示請求是否成功

       b、響應頭,包含服務器類型、日期、內容類型、長度等

       c、響應體,即響應正文,字符串、HTML等

 

D、HTTP狀態碼由3個數字構成,其中首位數字定義了狀態碼的類型

    1^^:信息類,表示收到web請求,正在進行處理中

    2^^:成功,表示用戶請求被正確接收、理解和處理,如200

    3^^:重定向,表示請求未成功,客戶必須採起動做

    4^^:客戶端錯誤,客戶提交的信息有誤,如400

    found:意味着請求中所引用的文檔不存在

    5^^:服務器錯誤(最難處理的問題),表示服務器不能完成請求處理,如500

相關文章
相關標籤/搜索