0

对于 jQuery AJAX 调用 ( http://api.jquery.com/jQuery.getJSON/ ),我们使用.fail()回调来记录 JavaScript 错误。

.fail()但是,当调用尚未完成但因离开网站而中止时,该函数似乎也被调用(但是,跟踪仍然有效,因为有时有足够的时间window.onerror触发)。

现在,我们不希望跟踪中止的 AJAX 请求。我们想知道请求是否有效(即响应)。

是否有可能区分“AJAX 调用中止”和“AJAX 调用没有响应”?

4

1 回答 1

2

有。fail处理程序接收三个参数jqXHR:、textStatuserrorThrown。对于中止的请求,textStatus将等于,"abort"因此您可以确定原因

$.getJSON(...).fail(function(xhr, status) { if (status == "abort") ... });

如果您对进一步过滤感兴趣,其他可能的值是"notmodified""error"和。"timeout""parsererror"

于 2013-10-23T09:23:51.193 回答