如何在浏览页面时处理jQuery ajax post错误

前端之家收集整理的这篇文章主要介绍了如何在浏览页面时处理jQuery ajax post错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有一种方法来处理来自JQuery中的ajax请求的错误,使得当用户导航离开页面时,所产生的错误被忽略?
$(document).ready(function() {
 $.ajax( {
    url:'/server/url/',type: 'POST',data: {some..data},success:function(response) { do stuff with response },error: function(xhr,textStatus,errorThrown) {
           // Don't raise this alert if user has navigated away from the page
           alert('error');
    }
});

我很好奇,如果有人知道一个干净的方式来处理这个?我知道你可以在$(窗口).bind(“beforeunload”,function(){})方法中创建一些逻辑,但我更喜欢如果有一种方法来处理这种情况,而不这样做,因为Chrome似乎不再支持它。例如,在这种情况下返回的具体错误

谢谢。

解决方法

看起来像这样的答案是检查jqXHR.status。 XMLHttpRequest spec概述了设置状态的以下步骤:

status属性必须返回运行这些步骤的结果:

>如果状态为UNSENT或OPENED,则返回0并终止这些步骤。
>如果设置了错误标志,则返回0并终止这些步骤。
>返回HTTP状态代码

注意:
错误标志指示某种类型的网络错误或请求中止。它最初未设置,并在DONE状态期间使用。

根据我的理解,这个代码检查应该解决问题:

if (xhr.status == 0)
        alert('error');
原文链接:https://www.f2er.com/jquery/184206.html

猜你在找的jQuery相关文章