好程式設計師web前端學習路線分享AJAX狀態碼ajax.status及封裝

好程式設計師IT發表於2019-09-04

    好程式設計師web前端學習路線分享AJAX狀態碼ajax.status及封裝,AJAX狀態碼說明

  1**:請求收到,繼續處理

  2**:操作成功收到,分析、接受

  3**:完成此請求必須進一步處理

  4**:請求包含一個錯誤語法或不能完成

  5**:伺服器執行一個完全有效請求失敗

  100——客戶必須繼續發出請求

  101——客戶要求伺服器根據請求轉換HTTP協議版本

  200——交易成功

  201——提示知道新檔案的URL

  202——接受和處理、但處理未完成

  203——返回資訊不確定或不完整

  204——請求收到,但返回資訊為空

  205——伺服器完成了請求,使用者代理必須復位當前已經瀏覽過的檔案

  206——伺服器已經完成了部分使用者的GET請求

  300——請求的資源可在多處得到

  301——刪除請求資料

  302——在其他地址發現了請求資料

  303——建議客戶訪問其他URL或訪問方式

  304——客戶端已經執行了GET,但檔案未變化

  305——請求的資源必須從伺服器指定的地址得到

  306——前一版本HTTP中使用的程式碼,現行版本中不再使用

  307——申明請求的資源臨時性刪除

  400——錯誤請求,如語法錯誤

  401——請求授權失敗

  402——保留有效ChargeTo頭響應

  403——請求不允許

  404——沒有發現檔案、查詢或URl

  405——使用者在Request-Line欄位定義的方法不允許

  406——根據使用者傳送的Accept拖,請求資源不可訪問

  407——類似401,使用者必須首先在代理伺服器上得到授權

  408——客戶端沒有在使用者指定的餓時間內完成請求

  409——對當前資源狀態,請求不能完成

  410——伺服器上不再有此資源且無進一步的參考地址

  411——伺服器拒絕使用者定義的Content-Length屬性請求

  412——一個或多個請求頭欄位在當前請求中錯誤

  413——請求的資源大於伺服器允許的大小

  414——請求的資源URL長於伺服器允許的長度

  415——請求資源不支援請求專案格式

  416——請求中包含Range請求頭欄位,在當前請求資源範圍內沒有range指示值,請求也不包含If-Range請求頭欄位

  417——伺服器不滿足請求Expect頭欄位指定的期望值,如果是代理伺服器,可能是下一級伺服器不能滿足請求

  500——伺服器產生內部錯誤

  501——伺服器不支援請求的函式

  502——伺服器暫時不可用,有時是為了防止發生系統過載

  503——伺服器過載或暫停維修

  504——關口過載,伺服器使用另一個關口或服務來響應使用者,等待時間設定值較長

  505——伺服器不支援或拒絕支請求頭中指定的HTTP版本

   學過狀態碼之後我們可以做一些事情:

  1.var AJAX=new XMHttprequert( );

  //撥號:設定請求引數;

 

2.AJAX.open('get','data/test.json',true);

 

3. ajax.function()
    {
        if (ajax.readyState == 4 && ajax.status == 200)
        {
            func_succ(ajax.responseText);
        }
        else
        {
            //alert("ajax faild readyState:"+ajax.readyState+" status:"+ajax.status);
        }
    };

 

4.ajax.send(null);

 

 

AJAX的相容問題及封裝;

function InitAjax(){

var ajax=false;

try{

ajax = new ActiveXObject("Msxml2.XMLHTTP");

}

catch (e){

try{

ajax = new ActiveXObject("Microsoft.XMLHTTP");

}

catch (E){

ajax = false;

}

}

if (!ajax && typeof XMLHttpRequest!='undefined'){

ajax = new XMLHttpRequest();

}

return ajax;

}

function DoAjaxGet(ajax, url, func_succ){

ajax.open("GET", url, true);

ajax.>

if (ajax.readyState == 4 && ajax.status == 200){

func_succ(ajax.responseText);

}else{

//alert("ajax faild readyState:"+ajax.readyState+" status:"+ajax.status);

}

};

ajax.send(null);

}

 

function DoAjaxPost(ajax, url, func_succ, post_datas){

ajax.open("POST", url, true);

ajax.>

if (ajax.readyState == 4 && ajax.status == 200){

func_succ(ajax.responseText);

}else{

alert('ajax faild readyState:'+ajax.readyState+" status:"+ajax.status);

}

};

ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

ajax.send(post_datas);

}

ajax快取問題:用時間戳清除快取;

 

DoAjaxGet(ajax,'data/test.txt?t='+ new Date().getTime(),aaa)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2655980/,如需轉載,請註明出處,否則將追究法律責任。

相關文章