Это похоже на «ответ» на вопрос
JQuery AJAX-запрос ведет себя синхронно по неизвестной причине
Я считаю, что фактическая проблема с параллельным выполнением, наблюдаемая MGM, была упущенаи на самом деле есть проблема с $ .get / $. ajax, выполняемым параллельно.
Посмотрите на фрагмент ниже:
$(function() {
$(".dd").each(function() {
var obj = $(this);
$.get("test.txt", function(data) {
obj.html(data);
});
});
});
Он загружает файл (асинхронно, как я ожидал) иотображает его (конечно же, синхронно).
Однако код выполняется по-разному во время загрузки первой страницы и при обновлении страницы.Я отслеживаю запросы к серверу, используя Firebug Net Panel в Firefox 4.0 на Windows.При загрузке первой страницы (или при обновлении с помощью Ctrl-F5) на панели «Сеть» я вижу, что несколько запросов к «test.txt» запускаются одновременно, и активность сети в основном перекрывается.
Эточасть работает как положено.Результат может быть обработан в браузере один за другим, но запросы к серверу выполняются параллельно.
Когда пользователь нажимает клавишу F5, чтобы обновитьстр.Внезапно параллелизм исчез.И одна и та же веб-страница загружает «test.txt» один за другим.
Становится еще яснее, если я заменю отображение данных (obj.html (data);) напростое оповещение: оповещение (данные);При начальной загрузке страницы я получаю несколько предупреждений одновременно на экране.Последующие обновления (F5) наглядно демонстрируют, что, пока одно предупреждающее сообщение отображается на экране, другие загрузки не выполняются (я могу удалить файл, чтобы увидеть, что следующий «$ .get» не работает).
Так что на самом деле $.get не выполняет асинхронное.звонки на сервер.
Есть идеи, почему это происходит?
PS Извините, система не позволяет публиковать изображения, используя предоставленный URL для просмотра скриншотов.