如何使用错误回调的自定义实现来覆盖 jQuery ajax 函数

Var*_*rma 4 ajax jquery

我想使用错误回调的自定义实现来覆盖 jQuery ajax 函数,以便在出现某些特定错误时,调用不会转移到 ajax 调用的错误块。
我想要做的是,在自定义实现中,我将检查状态,如果匹配,我将不会调用原始错误处理程序。

Var*_*rma 5

找到了答案

(function($){
    
    // Save reference to actual jQuery ajax function
    var $_ajax = $.ajax;
    
    $.ajax = function(options){
    
         if (options.error) {
           
            // save reference to original error callback
            var originalErrorHandler = options.error;
            
            var errorHandlerContext = options.context ? options.context : $;
            
            // define a custom error callback           
            var customErrorHandler = function(xhr,status,error) {
                
                if(error != 'Some error'){  
                    // call original error callback 
                    originalErrorHandler.apply(errorHandlerContext, arguments);
                }
                        
            };
            
            // override error callback with custom implementation           
            options.error = customErrorHandler;
        };
        
        // call original ajax function with modified arguments  
        $_ajax.apply($, arguments);
    };
    
})(jQuery);
Run Code Online (Sandbox Code Playgroud)