1

ループ内の各要素に対して ajax を呼び出して使用したい jquery ループがあります。

var splitted = [1,2,3];
var categoriesID = [4,5,6];
$.each(splitted, function(index, val)
{
        $.ajax({
          type: "GET",
          url: 'index.php?act=ajax&op=showCategories&manufacturer='+val+'&categories='+categoriesID,
          success: function(data) {

            $(".manufacturer\\[" + val + "\\]").show();
            $(".manufacturer\\[" + val + "\\]").html(data);
            //alert('Load was performed.');

          }
        });

});

問題は、おそらく各要素が同じ ajax 接続を使用していることに気付いたことです。結果は同じです。もちろん、要素ごとに異なる結果が得られるはずです。

だから - どのように私はすべてのループで ajax 接続を閉じて再度開くことができますか? またはそうする別の方法はありますか?

4

1 に答える 1

2

普通の js を使用して単純なループを作成し、jquery ajaxを使用してサーバーへの ajax 呼び出しを簡素化することをお勧めします。そして、サーバーから受信しているのと同じ(悪い)結果について、私の意見では、同じパラメーターを送信しているか送信していないかを確認してから、同じ結果を受信して​​います。データを取得するロジックを提供できますか... Ajaxは非同期です名前は言います。したがって、オープンクローズ接続の必要はありません。それらは並列マザーで行われます。また、jquery が開閉を処理します。質問の仕方も参考にしてください

for (var i = 0; i < 3; i++) {

    $.ajax({
        type: "POST",
        data: i, //0,1 and 2
        url: myUrlString,
        success: function (data) {

            console.log(data);
        }
    });
};
于 2012-12-29T12:51:40.450 に答える