У меня есть процедура, которая выполняется через 5 последовательных шагов, и на своей странице я вызываю метод ajax для каждого из них.
Идея состоит в том, чтобы запустить первый, если все в порядке,второй и т. д.
Мой код:
$("#foo").click(function(){
$.ajax({
url: 'ajax.php',
async: false,
data: {
step: 1
},
dataType: 'json',
type: 'GET',
success: walk_through(data)
});
});
function walk_through(data)
{
if(data.status == 'ok')
{
if(data.next_step == 'end')
{
// All steps completed
}
else
{
// Current step completed, run next one
$.ajax({
url: 'ajax.php',
async: false,
data: {
step: data.next_step
},
dataType: 'json',
type: 'GET',
success: walk_through(data)
});
}
}
else
{
alert("Error.");
console.log(data);
}
}
Я получаю сообщение об ошибке "слишком много рекурсии", даже если мои вызовы ajax установлены как синхронные ... почему?