JS Ajax的error函數(轉)


使用jquery的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對象的信息*/
        console.log('jqXHR.responseText --> ',jqXHR.responseText);
        console.log('jqXHR.status --> ',jqXHR.status);
        console.log('jqXHR.readyState --> ',jqXHR.readyState);
        console.log('jqXHR.statusText --> ',jqXHR.statusText);
        /*其他兩個參數的信息*/
        console.log('textStatus --> ',textStatus);
        console.log('errorThrown --> ',errorThrown);
    }
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM