#javascript #prototypejs
#javascript #prototypejs
Вопрос:
Мне нужно выполнить два Ajax-вызова, один из которых зависит от возвращаемого значения предыдущего вызова. Я попытался создать новый объект Ajax из функции onComplete внешнего объекта, однако, похоже, что это никогда не вызывается.
Вызывается завершенная функция внешнего объекта. Код выполняется до того момента, когда я создаю второй объект Ajax.
Это выглядит примерно так:
function called_from_page() {
new Ajax.Request(
'/request_url',
{ method: 'post', parameters: '', onComplete: function(originalRequest) {
if (originalRequest.responseText == '0') {
// do something
} else {
call_next_ajax();
}
}});
}
function call_next_ajax() {
new Ajax.Request(
'/next_request_url',
{ method: 'post', parameters: '', onComplete: some_other_function });
}
Итак, проблема в том, что вызывается call_next_ajax, но ajax-запрос внутри него не вызывается.
Комментарии:
1. Ошибок нет. Просто не вызывается.
Ответ №1:
Единственная проблема, о которой я могу думать, это: нет ‘next_request_url’ или нет ‘some_other_function’. В обоих случаях ‘call_next_ajax()’ выполняться не будет.