ajax同步、非同步及執行個體示範

來源:互聯網
上載者:User

在ajax中提交有兩種形式:同步和非同步  
        xmlHttp.open("GET",   url,   true);

        xmlHttp.open("GET",   url,   false);  

同步:提交後等待伺服器的響應,接收伺服器返回的資料後再執行下面的代碼  
非同步:與上面相反,提交後繼續執行下面的代碼,而在後台繼續監聽,伺服器響應後有程式做相應處理,非同步操作好處是不必等待伺服器而可以繼續在用戶端做其它事情。

樣本:

function dbOnclick(){

   var req
=
new
 XMLHttpRequest();


   var url="www.google.cn";



   req.open(
"
GET
"
,url,
true
); 
//
與服務端建立串連(請求方式post或get,URL,true表示非同步,false表示同步)





   req.onreadystatechange 
=
 callback; 
//
指定回呼函數


   req.send(
null
); 
//
發送請求


   alert("非同步模式");//如果是非同步請求,此句



緊接上句直接執行,



不用等伺服器返迴響應再執行,伺服器響應有回呼函數監視


                         //如果是同步請求,此句要等伺服器返迴響應才能執行


}


 

//
回呼函數,對服務端的響應處理,監視response狀態

function callback(){


  
if
(req.readystate
==
4

//
請求狀態為4表示成功


   {

       if
(req.status
==
200

//
http狀態200表示OK


       {
          doSomething; 
//
所有狀態成功,執行相應代碼



          alert(req.




responseText
);

       }else{



        




alert(
"
服務端返回狀態
"
 
+
 req.statusText);



       }



   }else{



       alert("資料載入中...");

   }




}


 

XMLHttpRequest 對象的方法與屬性


   


   

abort()

停止當前請求

getAllResponseHeaders()


HTTP
請求的所有響應首部作為鍵
/
值對返回

getResponseHeader("header")

返回指定首部的串值

open("method", "url")

建立對伺服器的調用。
method
參數可以是
GET

POST

PUT

url
參數可以是相對
URL
或絕對
URL
。這個方法還包括
3
個可選的參數

send(content)

向伺服器發送請求

setRequestHeader("header", "value")

把指定首部設定為所提供的值。在設定任何首部之前必須先調用
open()

 

  屬 


   

onreadystatechange

每個狀態改變時都會觸發這個事件處理器,通常會調用一個
JavaScript
函數

readyState

請求的狀態。有
5
個可取值:
0 =
未初始化,
1 =
正在載入,
2 =
已載入,
3 =
互動中,
4 =
完成

responseText

伺服器的響應,表示為一個串

responseXML

伺服器的響應,表示為
XML
。這個對象可以解析為一個
DOM
對象

status

伺服器的
HTTP
狀態代碼(
200
對應
OK

404
對應
Not Found
(未找到),等等)

statusText

HTTP
狀態代碼的相應文本(
OK

Not Found
(未找到)等等)





 





相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.