Giả sử rằng tôi đã xác định một số trình xử lý sự kiện Ajax toàn cục (ajaxStart, ajaxStop và ajaxError). Thông thường tôi tốt với điều đó, nhưng đối với một yêu cầu, tôi muốn vô hiệu hóa trình xử lý ajaxError nhưng vẫn chạy các trình xử lý ajaxStart và ajaxStop như bình thường. jQuery ajax function documentation đề cập đến tham số "toàn cầu" có thể được đặt thành false và được chuyển đến hàm $ .ajax để vô hiệu hóa tất cả các trình xử lý sự kiện Ajax toàn cầu, nhưng chúng không đề cập đến bất kỳ cách nào để vô hiệu hoá một số trình xử lý chung.Vô hiệu hóa một số trình xử lý sự kiện Ajax toàn cầu của jQuery cho một yêu cầu
Tôi có thể ngăn chặn trình xử lý ajaxError bằng cách thực hiện kiểm tra trên thuộc tính "url" của đối tượng ajaxSettings được chuyển tới hàm ajaxError, nhưng điều đó có vẻ hơi vụng về. Có ai ở đây biết về một cách để vô hiệu hóa chức năng ajaxError chạy mà sẽ được rõ ràng cho một ai đó tìm kiếm tại nơi mà các chức năng $ .ajax đang được gọi là?
Tôi có thể cung cấp ví dụ đơn giản nếu có ai muốn xem.
Bạn đã thử (và tôi đoán về điều này) thêm trình xử lý '.error' của riêng bạn vào lệnh' $ .ajax() 'và sau đó đặt' return false' vào cuối hàm để ngừng xử lý ? –
Vâng, tôi đã thử điều đó. Nó không khắc phục được vấn đề. Người xử lý toàn cầu vẫn chạy. –
Trình xử lý toàn cục (thành công, lỗi, hoàn thành) chạy trước trình xử lý thành công/lỗi/hoàn thành nếu tôi nhớ chính xác. –