2017-08-08 120 views
-3

我尝试发送16个异步请求到我的后端。AJAX异步不起作用

$.each(response, function(k, v) { 
    uploadAdditionalRows(v) 
}); 

function uploadAdditionalRows(value) { 
       $.ajax({ 
        url: "/asins/table_data/" + encodeURIComponent(value), 
        cache:false, 
        type: "GET", 
        success: function(response) { 
         console.log(response); 
        } 
       }); 

       return; 
      } 

但他们返回执行一个又一个。

enter image description here

怎么得到回应这个样子? :

enter image description here

+0

@Igor说。 HTTP请求需要一定的时间才能启动,并且您不能同时启动很多请求......但您的调用不会等待另一端的结束,因此它们是异步的。尝试一个同步AJAX,你会看到它的作用。它实际上完全冻结了浏览器。 – Salketer

+0

看到你的回复只是几个字节,你应该增加每个请求发送的数据量...... – Salketer

+0

现在它只是空的响应。 – user2264784

回答

5

浏览器上执行的同时HTTP连接他们将打开的数量(和连接的数目较小限制于任何给定结构域)的限制。

如果超出该限制,请求将进入队列。

你可以看到这个,前四个在同一时间开始,然后其余的被延迟。

+0

我明白了,但什么解决方案? – user2264784

+0

唯一的解决方法是限制您需要进行的HTTP调用......可以使用服务器端脚本来聚合请求或其他内容。 – Salketer

+0

如何得到第二张照片中的回复? – user2264784