Załóżmy, że mam zdefiniowane niektóre globalne procedury obsługi zdarzeń Ajax (ajaxStart, ajaxStop i ajaxError). Zazwyczaj mi to nie przeszkadza, ale na jedno żądanie chcę wyłączyć obsługę ajaxError, ale nadal tak jak zwykle uruchomić obsługę ajaxStart i ajaxStop. jQuery ajax function documentation wspomina o parametrze "globalnym", który można ustawić na false i przekazać do funkcji $ .ajax w celu wyłączenia wszystkich globalnych procedur obsługi zdarzeń Ajax, ale nie wspominają one o żadnym sposobie wyłączania tylko niektórych globalnych procedur obsługi.Wyłączanie niektórych programów obsługi zdarzeń globalnych Ajax jQuery dla żądania
Mogę zapobiec obsłudze ajaxError wykonując test na właściwości "url" obiektu ajaxSettings, który jest przekazywany do funkcji ajaxError, ale wydaje się to nieco niezdarne. Czy ktoś tutaj wie o sposobie wyłączenia działania ajaxError, które byłoby jasne dla kogoś, kto szuka w miejscu, w którym wywoływana jest funkcja $ .ajax?
Mogę podać prosty przykład, jeśli ktoś chce to zobaczyć.
Czy próbowałeś (i zgaduję na tym), dodając własny program obsługi '.error' do wywołania' $ .ajax() ', a następnie wstawiając' return false' na końcu funkcji, aby zatrzymać przetwarzanie ? –
Tak, próbowałem tego. To nie rozwiązało problemu. Globalny program obsługi nadal działał. –
Globalny handler (sukces, błąd, kompletny) jest uruchamiany przed sukcesem/błędem/zakończeniem programu obsługi, jeśli dobrze pamiętam. –