伪代码:
$(document).ajaxError(function(e, xhr, options, error) { xhr.retry() })
更好的是某种指数补偿
像这样:
$.ajax({ url : 'someurl', type : 'POST', data : ...., tryCount : 0, retryLimit : 3, success : function(json) { //do something }, error : function(xhr, textStatus, errorThrown ) { if (textStatus == 'timeout') { this.tryCount++; if (this.tryCount <= this.retryLimit) { //try again $.ajax(this); return; } return; } if (xhr.status == 500) { //handle error } else { //handle error } } });