1.創建對象
首先我們需要一個Ajax的對象。在這裏我們需要注意的是,由於不同的瀏覽器內核問題,部分瀏覽器對Ajax對象的創建方式不一樣。在以IE7以下版本爲內核的瀏覽器中,沒有提供XMLHttpRequest對象。目前,瀏覽器基本都是支持XMLHttpRequest對象,所以不再考慮版本問題。(瀏覽器版本的不同,區別僅僅是創建對象的不同,其他都是一樣的)
var xmlhttp = new XMLHttpRequest();//獲取對象
2.設置回調函數
設置當請求執行後,服務器返回請求的狀態碼,根據請求的狀態碼對瀏覽器做出相應的響應。
hxmlhttp.onreadystatechange = function(){//設置回調函數
if(xmlhttp.readyState == 4)//這裏的4是請求的狀態碼,代表請求已經完成
if(xmlhttp.status == 200 || xmlhttp.status == 304)//這裏是獲得響應的狀態碼,200代表成功,304代表無修改可以直接從緩存中讀取
var result = xmlhttp.responseText;//這裏獲取的是響應文本,也可以獲得響應xml或JSON
alert("獲取了響應文本" + result);
}
3.設置請求地址
設置請求地址,需要注意如果使用GET請求需要在url中綁定請求參數。
var url = "UserServlet.do?action=showUser";//POST請求
var data = "id="+id;//爲POST請求綁定請求參數,需要以鍵值對形式綁定
var url = "UserServlet.do?action=showUser&id="+id;//GET請求
.設置open()方法
open方法用來告訴XMLHttpRequest對象,發送請求方式是"POST"還是"GET";請求需要發送到指定的url;執行方式是同步還是異步,默認爲true(異步的方式)。這裏設置成false(同步方式)與刷新頁面無異。
xmlhttp.open("POST",url);
4.設置請求頭(GET請求可以忽略這一步)
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
5.發送請求
xmlhttp.send(data);//POST請求
xmlhttp.send();//GET請求
GET請求和POST請求的區別與form表單中method屬性中的GET與POST區別一致。