我正在使用迭代,在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');
}
}
});
}
答案 0 :(得分:1)
success
和complate
都是在异步ajax请求完成时调用的回调函数,并且当时for循环已经完成。
您可以让您的回复返回system_id
值,然后在success
处理程序中使用它;
success: function (data, textStatus) {
addEventClick();
if (data.system_id == 2) {
$('[name=data_input]').addClass('hidden');
}
}