【问题标题】:Jquery AJAX Global Timeout (Entire Application) Im using $.get & $.post (can't use $.ajax)Jquery AJAX 全局超时(整个应用程序)我正在使用 $.get 和 $.post(不能使用 $.ajax)
【发布时间】:2013-05-31 18:23:51
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: jquery ajax timeout global


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

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

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

      【讨论】:

      • 如何全局设置ajax超时时间?
      • 请求超时时如何添加提示信息?
      • 我正在使用 ajaxSetup 但超时对我不起作用。不改变任何东西。
      【解决方案3】:

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

      在准备好的文档中执行此操作一次

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

      xhr.status是返回的http状态码,最常见的是404(未找到)、201(已创建)、403(已禁止),这些状态码的列表参考:@ 987654321@.

      【讨论】:

      • 如何全局设置ajax超时时间?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 2010-11-12
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多