检测到jQuery.ajax调用失败,因为该页面正在重新加载?

前端之家收集整理的这篇文章主要介绍了检测到jQuery.ajax调用失败,因为该页面正在重新加载?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我做了很多$.ajax调用,我以一种抛出一个消息的方式处理错误.我发现如果在重新加载页面时正在进行ajax调用,例如单击刷新,或导航到另一个URL,然后我的进行中的ajax调用触发他们的错误回调.

我如何知道真正的错误和由于页面被重新加载而中断的一个调用之间的区别?

$.ajax(...)
.success(...)
.error(function(jqXHR) {
  // jqXHR.status == 0 means either Failed to contact server,// or aborted due to page reload -- how can I tell the difference?
});

解决方法

添加一个 unload处理程序,它将一个标志设置为true.然后,在错误处理程序中,您可以检查此标志,并做适当的操作.

例:

var unloading = false;
$.ajax(...) ...
 .error(function(jqXHR) {
    if (unloading) return; // Ignore errors caused by navigating away
    // Now,check for real errors ..
});
$(window).unload(function() {unloading = true;});
原文链接:https://www.f2er.com/jquery/176333.html

猜你在找的jQuery相关文章