Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 防止AJAX调用超时_Jquery_Asp.net_Ajax_Asp.net Web Api - Fatal编程技术网

Jquery 防止AJAX调用超时

Jquery 防止AJAX调用超时,jquery,asp.net,ajax,asp.net-web-api,Jquery,Asp.net,Ajax,Asp.net Web Api,我的一个网站需要调用我的另一个网站的API 我计划在页面进行AJAX调用以引导服务器端代码进行API调用时显示一个“wait”弹出窗口 但这可能需要一段时间。我正在寻找关于如何防止AJAX调用超时的建议 当我在谷歌上搜索这个问题时,我读过的大多数文章都建议一次只发送几个项目。但就我而言,这一切都是在一个相当重要的电话中完成的 还有哪些其他选项可以防止页面超时?如果您无法在数据包等中实现加载,那么超时可能是您最好的选择 $.ajax({ dataType: "json",

我的一个网站需要调用我的另一个网站的API

我计划在页面进行AJAX调用以引导服务器端代码进行API调用时显示一个“wait”弹出窗口

但这可能需要一段时间。我正在寻找关于如何防止AJAX调用超时的建议

当我在谷歌上搜索这个问题时,我读过的大多数文章都建议一次只发送几个项目。但就我而言,这一切都是在一个相当重要的电话中完成的


还有哪些其他选项可以防止页面超时?

如果您无法在数据包等中实现加载,那么超时可能是您最好的选择

 $.ajax({
        dataType: "json",
        url: uriTrackers, // Your URL here.
        //data: data,  //we are not sending data, this is a different data to the one below
        timeout: 10000 //10 second timeout  or maybe 30 secs if debugging
    })
            .done(function (data) {
    // Anything you want to do on success here.
            })
        .fail(function (jqXHR, textStatus, err) {
            $('#TrackerInfo').text('Error: ' + err + uriTrackers);

        });

根据这些评论,我知道您需要在特定的时间间隔内保持服务器ping

setInterval(function() {
  $.ajax({url: "ping.txt", 
          success: function(result){
                       //Nothing to do, or your can check the content of your ping.txt
                    },
          error : function(){
                               //Code to show your wait popup
                 }
          });
}, 60000);
这将使您的连接保持活动状态,即您将知道是否已连接到服务器


您需要在服务器上相应地放置ping.txt。

是否尝试了超时参数?您可以指定超时值,如超时值为3时的
timeout:3000
seconds@PM.当前位置我没有,但对此感到奇怪。如果在服务器忙时无法设置某种“ping”,那么这可能是一种很好的回退方法。您的意思是,在进行ajax调用之前,您想检查服务器是否忙,如果忙,则显示等待弹出窗口,如果不忙,则进行ajax调用?@PM.:否,我只是想知道,在服务器进行API调用时,是否有某种方法可以周期性地ping服务器。换句话说,要想在工作完成时找到一些来回通信的方法,就像我一次只发送几个项目一样。为了保持连接的活力,你可以在某个特定的时间间隔调用一些无关紧要的API,但在同一个请求中发送几个项目会很困难,显然不是一个好的解决方案。您可以为这些特定任务单独调用,并随时保留ping服务器的一个调用。谢谢,但我不确定这是否满足需要。我假设服务器仍然存在,并且无论发生什么情况都可以ping。这里的问题是,执行实际工作的AJAX调用可能会超时,我不知道这会如何改变这一点。哦,好吧,那么我想timeout参数会解决这个问题。