jquery ajax error函數和及其參數詳細說明

通常error函數返回的參數有三個: function(jqXHR jqXHR, String textStatus, String errorThrown)。常見調用代碼以下:javascript

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

這裏對這三個參數作詳細說明。java

第一個參數 jqXHR jqXHR:這裏的jqXHR是一個jqXHR對象,在Jquery1.4和1.4版本以前返回的是XMLHttpRequest對象,1.5版本之後則開始使用jqXHR對象,該對象是一個超集,就是該對象不只包括XMLHttpRequest對象,還包含其餘更多的詳細屬性和信息。jquery

這裏主要有4個屬性:ajax

  • 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"(解析錯誤),還有可能返回空值。api


第三個參數 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);
        }
    });

這裏是官方的文檔說明:url

相關文章
相關標籤/搜索