gpt4 book ai didi

javascript - For 循环中的 Ajax 调用,For 循环在所有调用完成之前完成

转载 作者:行者123 更新时间:2023-11-29 10:16:01 24 4
gpt4 key购买 nike

我创建了一个 for 循环,它循环一个元素在容器中出现的次数。 for 循环从 HTML 中获取一些数据并创建一个 JSON url,然后返回一个值。然后应将该值添加到 HTML 的适当位置。

问题似乎是 for 循环在所有 Ajax 调用完成之前完成,因此只有最后一个值被添加到 HTML。我以为我可以确保就绪状态等于 4,但该解决方案不起作用。我还尝试使用 complete 而不是 success 作为 Ajax 事件。有什么见解吗?这是我的代码。

for(var index = 0; index < $('#wizSteps #step6 label').length; index++){
var priceCount;
console.log(index);
var currentSelect = $('#wizSteps #step6 label[data-pricepos="'+index+'"]');
url = 'http://www.thesite.com/api/search.json?taxonomy=cat3435' + currentSelect.find('input').attr('name');
jQuery.ajax({
url: url,
dataType: "JSON",
success: function( data ){
var totalResult = data.totalNumberOfResults;
console.log(currentSelect);
currentSelect.find('.itemCount').text(totalResult);

}
});
}

最佳答案

看起来您不一定需要按顺序完成请求,您只需要以有效的方式跟踪 currentSelect。为此,您可以使用 context ajax 选项:

for (var index = 0; index < $('#wizSteps #step6 label').length; index++) {
var currentSelect = $('#wizSteps #step6 label[data-pricepos="' + index + '"]');
url = 'http://www.thesite.com/api/search.json?taxonomy=cat3435' + currentSelect.find('input').attr('name');
jQuery.ajax({
url: url,
dataType: "JSON",
context: currentSelect,
success: function (data) {
var totalResult = data.totalNumberOfResults;
this.find('.itemCount').text(totalResult);

}
});
}

关于javascript - For 循环中的 Ajax 调用,For 循环在所有调用完成之前完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21241133/

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