1. 程式人生 > >jquery ajax error函式和及其引數詳細說明(轉載)

jquery ajax error函式和及其引數詳細說明(轉載)

使用jquery的ajax方法向伺服器傳送請求的時候,常常需要使用到error函式進行錯誤資訊的處理,本文詳細的說明了ajax中error函式和函式中各個引數的用法。
一般error函式返回的引數有三個: function(jqXHR jqXHR, String textStatus, String errorThrown)。常見呼叫程式碼如下:

$.ajax({
    url: '/Home/AjaxGetData',
    success: function (data) {
        alert(data);
    },
    error: function (jqXHR, textStatus, errorThrown) {
        
/*錯誤資訊處理*/ } });

 

 

這裡對這三個引數做詳細說明。


 

第一個引數 jqXHR jqXHR:這裡的jqXHR是一個jqXHR物件,在Jquery1.4和1.4版本之前返回的是XMLHttpRequest物件,1.5版本以後則開始使用jqXHR物件,該物件是一個超集,就是該物件不僅包括XMLHttpRequest物件,還包含其他更多的詳細屬性和資訊。


這裡主要有4個屬性:

  • readyState :當前狀態,0-未初始化,1-正在載入,2-已經載入,3-資料進行互動,4-完成。
  • status  :返回的HTTP狀態碼,比如常見的404,500等錯誤程式碼。
  • statusText :對應狀態碼的錯誤資訊,比如404錯誤資訊是not found,500是Internal Server Error。
  • responseText :伺服器響應返回的文字資訊

 

 


 

第二個引數 String textStatus:返回的是字串型別,表示返回的狀態,根據伺服器不同的錯誤可能返回下面這些資訊:"timeout"(超時), "error"(錯誤), "abort"(中止), "parsererror"(解析錯誤),還有可能返回空值。

 

 


 

第三個引數 String errorThrown:

也是字串型別,表示伺服器丟擲返回的錯誤資訊,如果產生的是HTTP錯誤,那麼返回的資訊就是HTTP狀態碼對應的錯誤資訊,比如404的Not Found,500錯誤的Internal Server Error。

 

 


 

示例程式碼:

$.ajax({
    url: '/AJAX請求的URL',
    success: function (data) {
        alert(data);
    },
    error: function (jqXHR, textStatus, errorThrown) {

        /*彈出jqXHR物件的資訊*/
        alert(jqXHR.responseText);
        alert(jqXHR.status);
        alert(jqXHR.readyState);
        alert(jqXHR.statusText);

        /*彈出其他兩個引數的資訊*/
        alert(textStatus);
        alert(errorThrown);
    }
});

 

 

原文連結