2014-02-26 53 views
0

首先,英語不好,隨時糾正。如何捕捉JavaScript中的所有http請求錯誤?

有什麼辦法可以捕獲由DOM導致的所有http請求錯誤(例如,破損的URL爲<link><img>等)或JavaScript中的ajax?

我試過window.onerror,但它似乎只支持捕捉JavaScript運行時錯誤,不包括http請求錯誤。

任何想法表示讚賞。

+0

爲什麼不嘗試使用調試工具,如螢火蟲! – tnanoba

+0

@crypticous,因爲我想收集這些錯誤並將它們發送到客戶端上的服務器。 – Jerry

+0

您的Web服務器通常會保留它生成的404的日誌 –

回答

0

可以使用.ajaxSetup對於正常的HTTP調用,如:

代碼:

$.ajaxSetup({ 
     cache: false, 
     error: function(jqXHR, exception) { 
      if (jqXHR.status === 0) { 
      //Some code here 
      } else if (jqXHR.status == 404) { 
      //Some code here 
      } else if (jqXHR.status == 500) { 
      //Some code here 
      } else if (exception === 'parsererror') { 
      //Some code here 
      } else if (exception === 'timeout') { 
      //Some code here 
      } else if (exception === 'abort') { 
      //Some code here 
      } else { 
      } 
     } 
    }); 

對於喜歡socket.io你需要單獨處理它像第三方錯誤:

socket.on('error', function() { 
    //here i change options 
    socket = io.connect(host, options); 

});

+0

'.ajaxError()'更直截了當 –