Ajax實現非同步請求的整個過程
阿新 • • 發佈:2019-02-11
//這個回撥函式主要用來檢測伺服器是否把資料返回給非同步物件
xhr.setRequestHeader("If-Modified-Since","0"); //設定瀏覽器不使用快取
xhr.onreadystatechange = function () {
if (xhr.readystate == 4) {
//readyState屬性指出了XMLHttpRequest物件在傳送/接收資料過程中所處的幾個狀態。XMLHttpRequest物件會經歷5種不同的狀態。
//0:未初始化。物件已經建立,但還未初始化,即還沒呼叫open方法;
//1:已開啟。物件已經建立並初始化,但還未呼叫send方法;
//2:已傳送。已經呼叫send 方法,但該物件正在等待狀態碼和頭的返回;
//3:正在接收。已經接收了部分資料,但還不能使用該物件的屬性和方法,因為狀態和響應頭不完整;
//4:已載入。所有資料接收完畢
if(xhr.status==200){ //檢測伺服器返回的響應報文的狀態碼是否為200
alert(xhr.responseText); //伺服器返回的Response資料
//解析伺服器返回的jason格式的資料
var s=xhr.responseText;
var json=eval("("+s+")");
alert(jason.data);
}