2011-10-17 73 views
4

我有一個全局的$(document).ajaxError處理程序,爲我處理大多數錯誤,以防萬一發生意外的500錯誤或其他情況。但是,有時我想在腳本中本地捕獲錯誤,然後阻止調用全局錯誤處理程序。有沒有辦法做到這一點,比如你將使用event.stopPropagation()?防止.ajaxError被調用,如果在別處處理

$.get('/something/', function() { 
    alert("Stuff went well."); 
}).error(function(response)) { 
    if (response.status == 404) { 
     alert('Page not found'); 
     // Do something to stop global ajaxError from being called. 
    } 
}); 

回答

7

您需要的global: false PARAM傳遞給$.ajax這樣的:

$.ajax({ 
    url: '/something/', 
    global: false, 
    success: function() { 
     alert('Success'); 
    } 
}).error(function(response)) { 
    if (response.status == 404) { 
     alert('Page not found'); 
    } 
}); 

參考:Ajax EventsjQuery.get