У меня есть функция, называемая:
function callAjax(url, data) {
$.ajax(
{
url: url, // same domain
data: data,
cache: false,
async: false, // use sync results
beforeSend: function() {
// show loading indicator
},
success: function() {
// remove loading indicator
}
}
);
}
В коде я вызываю "callAjax" X количество раз, и я хочу синхронно обновлять данные. Это сделано так, как ожидалось, но одна проблема: загрузочный элемент не отображается в функции beforeSend. Если я вернусь к async к true, он работает, но обновления не выполняются синхронно.
Я пробовал несколько вещей без успеха. Я попытался поставить индикатор загрузки перед вызовом ajax следующим образом:
function callAjax(url, data) {
// show loading div
$.ajax(
{
// same as above
}
);
}
Но по какой-то причине он не хочет показывать индикатор загрузки. Я замечаю странное поведение, когда я добавляю "предупреждение" в beforeSend, и в этом случае появляется индикатор загрузки, но я скорее не выхожу из окна сообщений.
Есть идеи?