1.什么是ajax?
ajax(異步 javaScript xml)能夠刷新網頁局部數據而不是刷新網頁。
2.如何使用ajax?
第一步,創建xmlHttpRequest對象 var xmlHttpRequest = new XmlHttpRequest();
var xhttp;
if (window.XMLHttpRequest) {
//現代主流瀏覽器
xhttp = new XMLHttpRequest();
} else {
// 針對瀏覽器,比如IE5或IE6
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
第二步,xmlHttpRequest對象的open()和send()方法發送給服務器
xhttp.open("get", "${pageContext.request.contextPath}/emps", true); xhttp.send();
open()方法中的幾個參數分別是open(method,url,async)
method 是ajax的請求類型 get或者post請求
url 是請求的url 統一資源標識符
async是是否同步或者異步 true 或者 false
send()方法 發送出請求
第三步,使用xmlhttprequest對象的responseText或responseXML屬性獲得服務器的響應
document.getElementById("demo").innerHTML = xhttp.responseXML;
第四步,onreadystatechange是從 0 到4,0表示請求未被初始化 1表示服務器連接成功 2表示請求被服務器接收 3表示處理請求 4表示請求處理完成 並且准備響應
readyState屬性有多個狀態碼 就是請求狀態碼 200表示請求完成
xhttp.status == 200 && xhttp.onreadystatechange==4
這是傳統的js的ajax寫法,現在在jquery中ajax的寫法為這樣的
在JQuery中的寫法應該為這樣的
$.ajax({
type: "",
url: "",
data: $('#someForm').serizlize(),
success: function ( data ) {}
timeout: 15000,
error: function ( data ) {}
})
由於JQuery中隊JavaScript進行了大量底層封裝,所以這個封裝的思路是
了解內部常見參數
type :是請求的方法 常見的有get 和post請求
url:請求的路徑
data:請求傳遞的數據 這個地方使用了form表單數據序列化
success:請求成功調用什么方法
timeout設置超時時間
error:請求失敗調用什么方法
這里是我自己寫的ajax的jaquery版本使用
$.ajax({
url : "${pageContext.request.contextPath}/emps",
data : "pn=" + pn,
type : "get",
async : true,
success : function(result) {
console.log(result);
//1.解析員工數據
build_emps_tables(result);
//2.解析並顯示分頁信息
build_page_info(result);
build_page_nav(result);
}
});
