Запуск этого образца в IE8 прекрасно работает для меня. Однако в FF и Chrome запросы не отправляются параллельно. Я использую Кассини и VS2010.

лько дней назад я задал этот вопрос:

Почему $ .getJSON () блокирует браузер?

Я запускаю шесть jQuery асинхронных ajax-запросов на одном и том же действии контроллера практически одновременно. Каждый запрос занимает 10 секунд, чтобы вернуться.

Посредством отладки и регистрации запросов к методу действия я замечаю, что запросы сериализуются и никогда не выполняются параллельно. то есть я вижу временную шкалу в моих журналах log4net примерно так:

2010-12-13 13:25:06,633 [11164] INFO   - Got:1156
2010-12-13 13:25:16,634 [11164] INFO   - Returning:1156
2010-12-13 13:25:16,770 [7124] INFO   - Got:1426
2010-12-13 13:25:26,772 [7124] INFO   - Returning:1426
2010-12-13 13:25:26,925 [11164] INFO   - Got:1912
2010-12-13 13:25:36,926 [11164] INFO   - Returning:1912
2010-12-13 13:25:37,096 [9812] INFO   - Got:1913
2010-12-13 13:25:47,098 [9812] INFO   - Returning:1913
2010-12-13 13:25:47,283 [7124] INFO   - Got:2002
2010-12-13 13:25:57,285 [7124] INFO   - Returning:2002
2010-12-13 13:25:57,424 [11164] INFO   - Got:1308
2010-12-13 13:26:07,425 [11164] INFO   - Returning:1308

Глядя на сетевую шкалу в FireFox, я вижу это:

Приведенный выше пример журнала и временная шкала сети Firefox относятся к одному и тому же набору запросов.

Сериализуются ли запросы на одно и то же действие с одной и той же страницы? Я знаю о последовательном доступе кSession объект в том же сеансе, но данные сеанса не затрагиваются.

Я сократил код на стороне клиента до одного запроса (самый продолжительный), но он по-прежнему блокирует браузер, т. Е. Только когда запрос ajax завершается, браузер отвечает на любое нажатие ссылки.

Здесь я также наблюдаю (в инструментах разработчика Chrome), что при нажатии на ссылку, когда выполняется долго выполняющийся запрос ajax, он сообщаетFailed to load resource Немедленная ошибка, которая предполагает, что браузер убил (или пытается убить и ждет?) запрос ajax:

Однако браузеру все еще требуется время, чтобы перенаправить на новую страницу.

Являются ли запросы AJAX действительно асинхронными или это ловкость рук, потому что Javascript на самом деле является однопоточным?

Мои запросы просто слишком долго работают?

Проблема возникает также в Firefox и IE.

Я также изменил скрипт для использования$.ajax прямо и явно установленоasync: true.

Я запускаю это на IIS7.5, оба варианта Windows 2008R2 и Windows 7 делают то же самое.

Сборки отладки и выпуска также ведут себя одинаково.

Ответы на вопрос(2)

Ваш ответ на вопрос