12

我已经用 jquery 创建了 spring web 应用程序。对于每个使用 $.get 或 $.post(不是 $.ajax)的 ajax 调用。

但我没有处理任何 ajax 超时或 ajax 错误。现在我的应用程序部署在服务器中,我无法进行任何重大更改。

请帮助我如何处理整个 Web 应用程序的 AJAX 超时,我应该在全球范围内发出警报(“Ajax 超时”) 。另外,无论 ajax 错误如何,我都应该向用户提醒错误消息。

我听说过$.ajaxSetup$.ajaxError
但是如何在我的 Web 应用程序中使用它们,我需要在 document.ready 中添加它吗?

4

3 回答 3

30

您可以将ajaxError处理程序附加到文档

$(function(){
    $(document).ajaxError(function(event, request, settings) {
         //Do whatever
    });
});

编辑:要全局设置 Ajax 超时,您必须使用ajaxSetup

$.ajaxSetup({
    timeout: 2000 //Time in milliseconds
});

注意$.ajaxSetup应该在其他 Ajax 调用之前设置。

于 2013-06-05T07:04:58.950 回答
0

您可以使用 $.ajaxSetup({timeout: 100});

于 2017-06-06T05:37:23.647 回答
-1

这是ajaxError在您的应用程序中设置的方法。

准备好的文档中执行此操作。

$(document).ajaxError(function (event, xhr) {
    console.log(xhr.status + ': ' + xhr.statusText);
});

是返回的xhr.statushttp状态码,最常见的404(未找到)、201(创建)、403(禁止),这些状态码的列表参考:http://www.w3.org/Protocols/HTTP/HTRESP。 .html _

于 2013-06-05T07:05:25.833 回答