发现此帖子表明可以很好地解决此问题。
最主要的是使用$
.ajaxPrefilter并将您的错误处理程序替换为一个自定义的错误处理程序,该程序将检查重试并使用闭包的’originalOptions’执行重试。
我发布代码是为了防止将来将来离线。同样,信用归原始作者所有。
// register AJAX prefilter : options, original options$.ajaxPrefilter(function( options, originalOptions, jqXHR ) { originalOptions._error = originalOptions.error; // overwrite error handler for current request options.error = function( _jqXHR, _textStatus, _errorThrown ){ if (... it should not retry ...){ if( originalOptions._error ) originalOptions._error( _jqXHR, _textStatus, _errorThrown ); return; }; // else... Call AJAX again with original options $.ajax( originalOptions); };});


