gpt4 book ai didi

javascript - jquery 每个 |增量变量不起作用

转载 作者:行者123 更新时间:2023-11-30 17:13:45 25 4
gpt4 key购买 nike

我有一个包含多个值的变量 ( object )。

对于这些值中的每一个,我都使用“post”和“done”方法执行 AJAX,如下所示。

能否请您帮助我理解为什么变量“counter”在循环中递增(第一个 console.log show, 1, 2, 3 ,4, ....)。

但是当循环结束时,第二个“console.log”在 0 处显示“counter”?我错过了什么吗?

$('.confirm_suppression').on('click',function(){
var counter = '0';
$.each(row_to_delete, function(data){
$.post(
"/mysql/function_manager.php",
{
'type_request' : 'remove_user_from_host',
'user_id' : iduser,
'host_id' : row_to_delete[data].id
},
"json"
).done(function(data) {
var array = JSON.parse(data);
if(array.status == 'OK'){
++counter;
console.log('value counter in loop : ' + counter);
$('#dialogboxhead').val('in progress');
};
if(array.status == 'KO'){
alert(array.msg);
};
});
});
console.log('value counter : ' + counter);
});

`

谢谢。

最佳答案

因为您使用 $.post 执行异步任务,称为 AJAX称呼。这意味着如果 AJAX 调用完成,则调用 done() 部分。虽然这个 AJAX 调用需要一些时间,但函数的其余部分会被执行。所以这部分 console.log('value counter : ' + counter); 在这部分之前被调用 console.log('value counter in loop : ' + counter); .

关于javascript - jquery 每个 |增量变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26493747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com