本篇文章主要的介紹了關於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使用手冊欄目中學習),有問題的可以在下方留言提問。