2011-11-14 42 views
5

我在這裏遇到了一些奇怪的事情,我不記得曾經遇到過。我正在對我的服務器(codeigniter後端)進行正常的$ .ajax調用,並且如果找不到某個資源,我將返回一些錯誤消息以及404頭。 jQuery認識到發生了錯誤,並運行正確的錯誤回調。問題是它也會在瀏覽器中拋出一個js異常,所以firebug會抱怨(或者任何瀏覽器可能使用的js控制檯)。這是一種新的行爲嗎?我不記得當返回404頭時,jquery拋出了一個js錯誤。相關代碼如下:

$.extend({ 
    gallery: function (url, data) { 
     //send a request to an arbitrary url with some data. Expects to 
     //get json returned. 
     return $.ajax(State.url + url, $.extend({ 
      dataType: 'json', 
      type: 'post' 
     }, data)); 
    } 
}); 

以上是我在我的應用程序中使用的全局ajax函數。我已經嘗試了各種功能的錯誤函數,但無濟於事,我總是得到一個js錯誤拋出的螢火蟲。有任何想法嗎?我得到的實際js錯誤是:

NetworkError: 404 Not Found 
+0

什麼是State.url? –

+0

是的,這很奇怪,它會引發JS異常。你總是可以將它封裝在一個'try {} catch {}'中,但我認爲它不應該這樣做...... – mpen

+0

會好奇地看到一個如何處理錯誤的例子。我假設你在.ajax調用中使用了「error」參數(提供的代碼是一個擴展,是否正確?)。您也可以使用狀態代碼來捕獲404,儘管您可能不想微觀管理每個狀態碼。 –

回答

2

這是您的控制檯功能,而不是一些jQuery疑難雜症。嘗試擺弄您的控制檯選項。即使谷歌瀏覽器告訴XHR失敗或類似的東西。

P.S:從未使用過螢火蟲。但它只能在那裏存在。

+0

你是正確的Nishchay,這是一個螢火蟲的具體設置。謝謝! – Greg