Ajax Call In For Loop, для завершения цикла перед выполнением всех вызовов
Я создал цикл for, который повторяет количество раз, которое элемент появляется в контейнере. Цикл for извлекает некоторые данные из HTML и создает URL JSON, который затем возвращает значение. Это значение должно быть добавлено в HTML в соответствующем месте.
Кажется, проблема в том, что цикл for завершается до того, как будут выполнены все вызовы Ajax, поэтому в HTML добавляется только последнее значение. Я думал, что смогу убедиться, что готовое состояние равно 4, но это решение не сработало. Я также попытался использовать завершенный, а не успешный, как Ajax Event. Есть идеи? Вот мой код.
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);
}
});
}