【发布时间】:2013-02-19 04:51:24
【问题描述】:
假设我有一个运行时间较长的 jQuery Ajax 调用(比如 5 秒),如下所示:
$.ajax({
url: '/LongCall',
type: 'POST',
async: true,
cache: false,
datatype: 'json',
success: function(data) {
alert('Success!');
},
error(xhr, textStatus, errorThrown) {
alert('Error!');
}
});
现在假设在等待我的五秒钟进程运行时,用户变得不耐烦并决定在我的页面上点击某种导航。上述调用中发生的情况是用户在单击链接时收到错误警报。
如果确实存在错误,我确实希望显示错误警报,但如果发生的只是用户决定离开,我不希望显示错误警报。我该怎么做?
换句话说,是否有一些值我可以检查(可能是 xhr.status?),它会告诉我发生的错误只是进程被中断,所以我可以知道忽略错误?
谢谢!
【问题讨论】:
-
检查错误回调的第二个和第三个参数。
-
第二个参数是“错误”。第三个参数是“”。据我所知,在这种情况下两者都没有用。
-
在这种情况下,请查看第一个参数的属性。
-
我已经这样做了,但找不到任何确定的东西。 status = 0,readyState = 0,但我无法知道其他条件是否会导致这种情况发生。我正在寻找一些相当确定的东西,但我不确定我是否能通过这种方式找到。
-
实际上,我想知道是否可以检查 readyState stackoverflow.com/questions/632774/…
标签: jquery