1. 程式人生 > >Ajax實現非同步請求的整個過程

Ajax實現非同步請求的整個過程

 
        //這個回撥函式主要用來檢測伺服器是否把資料返回給非同步物件
 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);
  }