Остановить блокировку браузера во время (синхронного) Ajax?

Я пытаюсь добавить загружаемое изображение в 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, но это мой единственный вариант, потому что мне нужно дождаться завершения этого запроса, прежде чем продолжить потому что мне нужны данные, которые возвращаются.

Есть ли способ обойти это? Если я помещаю предупреждение после того, как я добавляю загрузочное изображение, которое работает, но я не хочу, чтобы предупреждение появлялось каждый раз.

12
задан Ray 18 March 2012 в 07:10
поделиться