Я получаю сообщение об ошибке на моем AJAX звонке, и мне кажется, что мне нужно установить задержку на каждый раз, когда il oop на моем втором ajax звонке. Но я не могу заставить его работать.
Это мой 1-й ajax звонок, внутри этого ajax вызова есть jquery каждый l oop, который вызывает 2-й ajax вызов. Я добавил функцию setTimeout, но все равно получил сообщение об ошибке на консоли «Uncaught RangeError: Превышен максимальный размер стека вызовов»
$.ajax({
url: mysite.ajax_url,
type: 'POST',
data: {
'action': 'test_ajax_function',
'user_input': user_input_last
},
success:function(data) {
$(".container").css("opacity", 1);
$("#loading-img").css({"display": "none"});
var array_data = data.split("||");
var items_count = array_data[0];
var items = array_data[1];
jQuery.each(JSON.parse(items), function() {
setTimeout(function(){
getItemDetails(this);
}, 3000);
});
},
error: function(errorThrown){
console.log(errorThrown);
}
});
Это 2-й ajax вызов.
function getItemDetails(id) {
var item_id = id;
$.ajax({
url: mysite.ajax_url,
type: 'POST',
data: {
'action': 'getItem',
'id': item_id
},
success:function(data) {
console.log(data);
},
error: function(errorThrown){
console.log(errorThrown);
}
});
}
});