имеем такой html:
<div class="foo">foo text</div>
В этот блок мы вставляем сообщение "Запрос к серверу...", затем генерируем сам запрос:
// 1) команда изменения содержимого div
$(".foo").text("Запрос к серверу...");
// 2) ресует <div class="foo">Запрос к серверу...</div>
// 3) окно подвисает на время запроса к серверу
$.ajax({... async: false, ... });
На деле работает в последовательности 1,3,2, то есть текст меняется после запроса.
Можно исправить это так:
$(".foo").text("Запрос к серверу...");
setTimeout(function(){
$.ajax({... async: false, ... });
}, 20);
.. но хотелось бы как-то так:
$(".foo").text("Запрос к серверу...").done(function(){
$.ajax({... async: false, ... });
})
Есть ли такое решение?