我在這裏遇到了一些奇怪的事情,我不記得曾經遇到過。我正在對我的服務器(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
什麼是State.url? –
是的,這很奇怪,它會引發JS異常。你總是可以將它封裝在一個'try {} catch {}'中,但我認爲它不應該這樣做...... – mpen
會好奇地看到一個如何處理錯誤的例子。我假設你在.ajax調用中使用了「error」參數(提供的代碼是一個擴展,是否正確?)。您也可以使用狀態代碼來捕獲404,儘管您可能不想微觀管理每個狀態碼。 –