ajax發送異步請求的步驟

第一步:得到XMLHttpRequest

得到XMLHttpRequest,編寫創建XMLHttpRequest對象的函數

     function createXMLHttpRequest() {
	try {
		return new XMLHttpRequest();			
	} catch (e) {
		alert("您的瀏覽器不支持");
		throw e;
	}
     }
第二步:打開與服務器的連接:

xmlHttp.open():用來打開與服務器的連接,它有三個參數

請求方式:GET或POST

請求的URL:指定服務器端資源,例如/Web/XXXServlet

請求是否同步:如果true表示發送異步請求,否則是同步請求

xmlHttp.open("GET", "/Web/XXXServlet", true);

第三步:發送請求

xmlHttp.send(null):如果不給可能造成部分瀏覽器無法發送

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

第四步:

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

xmlHttp對象一共有5個狀態

0狀態:剛創建還沒有調用open()方法

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

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

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

4狀態:服務器響應結束(我們主要關注這個狀態)

得到xmlHttp對象的狀態:var state = xmlHttp.readyState; 

得到服務器響應的狀態碼:var status = xmlHttp.status;

得到服務器響應的內容

var content = xmlHttp.responseText;//得到服務器的響應的文本格式的內容

var content = xmlHttp.responseXML;//得到服務器的響應的xml響應的內容,它是Document對象了!

     xmlHttp.onreadystatechange = function() {//xmlHttp的5種狀態都會調用本方法
     <span style="white-space:pre">	</span>if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {//雙重判斷:判斷是否爲4狀態,而且還要判斷是否爲200
        <span style="white-space:pre">	</span>// 獲取服務器的響應內容
	<span style="white-space:pre">	</span>var text = xmlHttp.responseText;
      <span style="white-space:pre">	</span>}
     };











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章