2017-08-08 13 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

と述べています。 HTTP要求は開始に時間がかかり、同時に多くのHTTPリクエストを開始することはできません...しかし、あなたの呼び出しは他の呼び出しを待つことはありません。同期ajaxを試してください、あなたはそれが何を参照してください。実際にはブラウザを完全にフリーズします。 – Salketer

+0

あなたの応答が数バイトだけであることを確認すると、要求ごとに送信するデータの量を確実に増やす必要があります... – Salketer

+0

これはただの応答です。 – user2264784

答えて

5

ブラウザは、それらが開きます同時HTTP接続の数(および任意のドメインへの接続の数に小さい限界)に制限を強制します。

この制限を超えると、要求はキューに入ります。

これは、最初の4つが同時に開始し、残りが遅延していることがわかります。 @Igorは、

+0

私は参照してください、しかし、 – user2264784

+0

これは、必要なHTTP呼び出しを制限することで回避できます。サーバ側のスクリプトを使用してリクエストなどを集約できます。 – Salketer

+0

2枚目のようにレスポンスを得るには? – user2264784

関連する問題