То, что я пытаюсь сделать, это добавить изображение загрузки в div (так что пользователь знает, что что-то загружается), а затем я вызываю функцию jquery ajax, которая установлена на "async: false". Вот мой код:
$jQuery("#playersListDiv").html(loadingImage);
$jQuery.ajax({
type: "POST", /* this goesn't work with GET */
url: urlValue, /*ex: "NBAgetGamesList.php" */
data: parameters, /*ex: "param1=hello" */
cache: false,
async: false,
success: function(data){
}
});
Проблема заключается в том, что браузер блокирует и не добавляет загружаемое изображение до тех пор, пока не будет выполнено обращение ajax, что бесполезно, конечно. Firefox - единственный браузер, который фактически добавляет загрузочный образ. IE, Chrome и Safari НЕ добавляйте загружаемое изображение.
Я знаю, что блокировка браузера происходит, потому что для async установлено значение false, но это мой единственный вариант, потому что я должен дождаться завершения этого запроса до продолжения, потому что мне нужны данные, которые возвращаются.
Есть ли способ обойти это? Если я добавлю предупреждение после добавления загружаемого изображения, но я не хочу, чтобы каждый раз появлялось предупреждение.