jQuery ajax智能恢复调用

jQuery ajax智能恢复调用,jquery,ajax,Jquery,Ajax,有些情况下,ajax请求失败,并且没有理由重新尝试重新发送最后一个请求,例如,当收到错误代码404、405等时,因为新的尝试将始终导致相同的结果 但在某些情况下,如服务器繁忙、超时等(?)可能会很有趣,有一个例程不断尝试重新发送请求,当它达到限制时,如果用户想要停止尝试,则向用户显示一条消息-例如在gmail中,当用户失去连接时 下面我有我需要的开始 $.ajaxSetup({ error: function(msg,e) { console.warn(msg); // Ex

有些情况下,ajax请求失败,并且没有理由重新尝试重新发送最后一个请求,例如,当收到错误代码404、405等时,因为新的尝试将始终导致相同的结果

但在某些情况下,如服务器繁忙、超时等(?)可能会很有趣,有一个例程不断尝试重新发送请求,当它达到限制时,如果用户想要停止尝试,则向用户显示一条消息-例如在gmail中,当用户失去连接时

下面我有我需要的开始

$.ajaxSetup({
   error: function(msg,e) { 
      console.warn(msg); // Example: "NetworkError: 405 Method Not Allowed ..."
      console.warn(e); // Exception obj
   }
});

一般来说,除了繁忙的服务器、超时和其他情况外,我还可以进行重试?如果是这样,我如何从ajax(URL、post数据…)获取错误代码和最后一个请求?

这是一个有趣的问题。在做这些事情时,您还应该考虑的是,确保这些请求生成的jQuery延迟对象在重试计数之前也不会返回。因此,如果您正在链接或等待请求完成,则不应将其标记为已完成,直到它成功或重试次数达到限制为止。您需要用另一层延迟和重试计数器包装延迟。@EliGassert这就是重点!一旦完成,这将是一个很酷的功能。除了我的第一条评论之外,我没有什么可以提供的,但是如果你创造了这个,我希望看到一个解决方案:)Good luckI找到了创业公司