gpt4 book ai didi

php - 所有其他 AJAX 调用完成后的 jQuery 加载函数

转载 作者:行者123 更新时间:2023-12-02 13:55:07 24 4
gpt4 key购买 nike

我有 jQuery .each 循环遍历数组。对于数组中的每个项目,它都会执行 AJAX 调用。当所有 AJAX 调用完成后,我想使用 .load() 方法重新加载页面的一部分。但是,如果我使用 .ajaxStop() 方法,这会产生无限循环。

我怎样才能实现这个目标?

下面的代码...

这是单击按钮时的部分

$.each(remMems, function( index, value ) {
$.ajax({
url: 'components/update_members.php',
type: 'POST',
data: {'memberbadge':value, 'function':'removemember'},
timeout: 6000
}); //end ajax call

//if its the last item, then refresh the area
if (index == lastitem) {
refreshMembers();
}
}); //end the for each loop

这是每个循环完成时调用的方法/函数,用于刷新页面部分

function refreshMembers() {
$('#listwrapper').load('members.php' + ' #ert_members');
};

最佳答案

您可以使用循环创建延迟对象数组。然后,您可以将该数组应用于 $.when 并调用 load() 方法。试试这个:

var requests = [];
$.each(remMems, function(index, value) {
requests.push($.ajax({
url: 'components/update_members.php',
type: 'POST',
data: {
'memberbadge': value,
'function': 'removemember'
},
timeout: 6000
}));
});

$.when.apply($, requests).done(function() {
$('#listwrapper').load('members.php #ert_members');
});

请注意,更好的方法是修改 update_members.php 以获取 value 数组并仅进行一次 AJAX 调用。

关于php - 所有其他 AJAX 调用完成后的 jQuery 加载函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40747298/

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