0

私は反復を使用しています.AJAXの完全なイベントでは、反復変数iを使用しようとしています.

しかし、すべての反復で、常に 4 に等しくなりますか? なぜ4?2の次に3だと思っていたのに、4だった。

for (i=2; i<=3; i++) {

    $.ajax({
        url: "<?php echo $this->createUrl('ajax/GetData') ?>",
        dataType: "html",
        type: "POST",
        cache: false,
        data: {
            "country":$('[name=country]').val(),
            "currency":$('[name=currency]').val(),
            "system_id":i
        },
        success: function (data, textStatus) {

            addEventClick();
        },
        complete: function() {

            if (i-1 == 3) {
                $('[name=data_input]').addClass('hidden');
            }
        }
    });
}
4

1 に答える 1

1

successcomplateは両方とも、非同期 ajax リクエストが終了し、その時点で for ループが既に完了しているときに呼び出されるコールバック関数です。

応答で値を返してから、ハンドラーsystem_idで使用することができます。success

success: function (data, textStatus) {
  addEventClick();

  if (data.system_id == 2) {
    $('[name=data_input]').addClass('hidden');
  }
}
于 2013-02-21T08:05:20.113 に答える