Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Javascript 一个接一个运行的Ajax并发调用_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 一个接一个运行的Ajax并发调用

Javascript 一个接一个运行的Ajax并发调用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我已经编写了一个简单的网页,希望能够在其中执行并发ajax请求。我知道我可以使用.when()在jquery中执行并发ajax请求,但我的情况并非如此。我的函数如下所示: function getData(tt, tf) { $.ajax({ url : "/extpage.php", type : "POST", async: true, data : { testt : tt, testf : tf } }) .do

我已经编写了一个简单的网页,希望能够在其中执行并发ajax请求。我知道我可以使用.when()在jquery中执行并发ajax请求,但我的情况并非如此。我的函数如下所示:

 function getData(tt, tf) {
$.ajax({
    url : "/extpage.php",
    type : "POST",
    async: true, 
    data : {
        testt : tt,
        testf : tf
    }
})
.done(function (toolbox) {
    alert(data);
});

}

这个函数是从网页中的一个按钮调用的,我需要能够让用户随时调用这个函数(我知道浏览器可以支持的ajax请求的最大数量),而不必等待前一个ajax请求先完成,然后执行下一个请求。我希望每个电话都能被并行处理。有没有关于如何获得这些信息的线索?

这就是AJAX固有的工作原理。您执行的每个调用都独立于任何其他浏览器活动(通常包括其他AJAX调用)运行


给定您拥有的函数,如果我连续调用
getData()
十次,它将启动十个独立的HTTP请求。如果它们不是同时运行的,那么服务器一次可能不会响应多个请求,当然您对此无能为力。

AJAX就是这样固有地工作的。您执行的每个调用都独立于任何其他浏览器活动(通常包括其他AJAX调用)运行


给定您拥有的函数,如果我连续调用
getData()
十次,它将启动十个独立的HTTP请求。如果它们没有同时运行,那么服务器一次可能不会回答多个请求,当然您对此无能为力。

我认为您可能需要修改您的问题

这个函数是从网页内的一个按钮调用的,我需要 能够让用户随时调用此函数

这是默认的AJAX行为。AJAX调用是异步的

async: true
是冗余的,true是异步的默认值

您的代码应该按照此问题中的要求执行,如果您仍然遇到问题,则问题可能在其他地方

最后一点是:

$.when()

用于对并发/异步任务排队,与您在OP中建议的相反。

我认为您可能需要修改您的问题

这个函数是从网页内的一个按钮调用的,我需要 能够让用户随时调用此函数

这是默认的AJAX行为。AJAX调用是异步的

async: true
是冗余的,true是异步的默认值

您的代码应该按照此问题中的要求执行,如果您仍然遇到问题,则问题可能在其他地方

最后一点是:

$.when()

用于对并发/异步任务进行排队,与您在OP中建议的相反。

JavaScript和XML JavaScript和XML您的意思是http服务器一次不响应多个请求?这绝对不是我的情况:)我发现有很多方法可以进行并发ajax调用……请记住以下几点:如果调用getData()两次,而第一个请求没有完成,那么您必须等到第一个调用完成。。。这是我的问题。。。我不会一行调用函数两次或十次,我只调用一次,等待5秒,然后再次调用,依此类推……如果调用
getData()
两次,第一个请求没有完成,你绝对不必等待第一个调用完成。这根本不是AJAX的行为方式。第二个请求将立即启动,无论是否考虑任何其他正在进行的HTTP请求。是的,第二个请求将立即启动,但只有在第一个请求完成后才会发送到服务器:)您的意思是HTTP服务器一次不响应多个请求?这绝对不是我的情况:)我发现有很多方法可以进行并发ajax调用……请记住以下几点:如果调用getData()两次,而第一个请求没有完成,那么您必须等到第一个调用完成。。。这是我的问题。。。我不会一行调用函数两次或十次,我只调用一次,等待5秒,然后再次调用,依此类推……如果调用
getData()
两次,第一个请求没有完成,你绝对不必等待第一个调用完成。这根本不是AJAX的行为方式。第二个请求将立即启动,无论是否考虑任何其他正在进行的HTTP请求。是的,第二个请求将立即启动,但只有在第一个请求完成后才会发送到服务器:)