ajax 異步請求四個步驟


   

ajax異步請求詳解

 

ajxa定義:異步的JavaScript和xml

 

1、XMLHttpRequst的出現才有了異步處理

 

2、創建XmlHttpRequest對象

var request=new XMLHttpRequest();

注意:如果要兼容IE6以下瀏覽器則需要編寫如下代碼

        var request;

         if(window.XMLRequest){

               request=new XMLRequestHttpRequest();  //IE7、IE8、360等

          }else{

               request=new ActiveXObject("Microsoft.XMLHTTP");//IE5、IE6

           }

 

3、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");

 

4、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){

               //需要處理的事務

         }

      }

 

6、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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM