ajax具體怎麼使用的?ajax使用的四步解析(附執行個體)

來源:互聯網
上載者:User
本篇文章主要的介紹了關於ajax使用的四個步驟,想看的同學趕緊看過來,現在我們就開始閱讀本篇文章吧

1.第一步(得到XMLHttpRequest)

*ajax其實只需要學習一個對象:XMLHttpRequest,如果掌握了它就掌握了AJAX

*得到XMLHttpRequest

>大多數瀏覽器都支援:var xmlHttp=new XMLHttpRequest();

>IE6.0支援:var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

>IE5.5及更早版本的IE支援:var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

*編寫建立 XMLHttpRequest 的函數

 function createXMLHttpRequest() {           try{                    return  new  XMLHttpRequest();           }catch{                    try{                            return  new  ActiveXObject("Msxml2.XMLHTTP");                    }catch{                                try{                                        return  newActiveXObject("Microsoft.XMLHTTP");                             }catch{                                  alert("怎麼可能,你用的啥瀏覽器。。。")                                   throw   e;                             }                    }           }}

2.第二步 (開啟與伺服器的串連)

*xmlHttp.open();用來開啟與伺服器的串連,需要三個參數;

>請求方式:GET或者POST

>請求的URL:指定伺服器端資源,例如:/項目/action

>請求是否為非同步:如果為True表示發送非同步請求,否則為同步請求;

*xmlHttp.open("GET","/項目/action",true);(想看更多就到topic.alibabacloud.comAJAX開發手冊欄目中學習)

3.第三步 (發送請求)

*xmlHttp.send(null); 如果括弧裡不給null可能會造成部分瀏覽器無法發送;

>參數:就是請求體的內容,如果是GET請求,必須給null

4.第四步

*在xmlHttp對象的一個事件上註冊監聽器:onredaystatechange

*xmlHttp對象一共有5個狀態:

>0狀態:剛建立,還沒有調用open()方法;

>1狀態:請求開始,調用了open()方法,但還沒有調用send()方法;

>2狀態:調用完了send()方法;

>3狀態:伺服器已經開始響應,但不表示響應結束;

>4狀態:伺服器響應結束!(我們通常只關注這個狀態!!!)

*得到xmlHttp對象的狀態;

>var state =xmlHttp.redayState; //可能是0、1、2、3、4

*得到伺服器的響應狀態代碼

>var state =xmlHttp.status; //例如為200、404、500

*得到伺服器的響應內容

>var  content = xmlHttp.responseText; //得到伺服器響應的文字格式設定內容;      >var  content = xmlHttp.responseXML; //得到伺服器響應的xml內容,它是Document對象;  xmlHttp.onredaystatechange=function() { //5種狀態都會調用本方法;           if(xmlHttp.redayState==4 && xmlHttp.status==200){  //雙重判斷,缺一不可                //擷取伺服器的響應內容                  var  text = xmlHttp.responseText;           } };

本篇文章到這就結束了(想看更多就到topic.alibabacloud.comAJAX使用手冊欄目中學習),有問題的可以在下方留言提問。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.