2012-03-02 113 views
5

我使用此代碼通過他們的API來從Twitter獲取的一些信息:檢查jQuery的404個錯誤狀態

 $.ajax({ 
      url : apiUrl, 
      cache : false, 
      crossDomain: true, 
      dataType: "jsonp", 
      success : function(html) { 
       // ... 
      }, 
      error: function(jqXHR, textStatus, errorThrown) { 
       console.log(jqXHR); 
      } 
     }); 

但是,如果apiUrl變量提供了一個正確的URL,該代碼做工精細,E.I.成功對象被執行,但如果url不正確,e.i.從twitter返回404錯誤,錯誤對象從不執行。它不會在控制檯中記錄任何內容。在這種情況下,我應該如何檢查404錯誤狀態?

+0

這可能會解決這個問題:http://stackoverflow.com/questions/4281274/jquery-ajax-404-handling – Smamatti 2012-03-02 13:51:42

+1

給出不正確的URL – JamesHalsall 2012-03-02 13:52:25

+0

HTTP的例子://計算器。 com/a/4803044/137972可能是相關的。 – Christoffer 2012-03-02 13:54:59

回答

3

從jQuery的API文檔的ajax:

error option

注:該處理器沒有要求跨域腳本和JSONP 請求。

http://api.jquery.com/jQuery.ajax/

+0

對不起,我的錯不讀這個...謝謝 – 2012-03-02 14:22:34

2

根據文檔,使用statusCode設置爲.ajax

$.ajax({ 
    ... 
    statusCode: { 
    404: function(){ 
    } 
    } 
}); 
+0

nop,這不會被執行。恐怕第一個回覆這個主題是正確的... http://forum.jquery.com/topic/jquery-ajax-with-datatype-jsonp-will-not-use-error-callback-if-request -fails – 2012-03-02 14:03:24