2009-12-09 4 views
2

Недавно я начал тестировать TornadoWeb для домашнего проекта, который использует функцию jquery getJSON для вызова моих обработчиков торнадо. И нашел что-то странное, и я ищу объяснения.jquery-Ajax вызов обработчикам торнадо ждет изначального вызова ajax для возврата

Я срабатывала запрос Ajax для Handler1 на торнадо, а в некоторых случаях запрос на Handler2 инициируется до Handler1 возвращается. Он появляется из журналов разработки-сервера и консоль-отладки firebug, что Handler2 запрос ждет Handler1 запрос на завершение, а затем возврат. Таким образом, в основном, вызов XHR ждет ранее XHR. Предполагается, что они должны быть асинхронными/неблокирующими? Или я что-то упускаю.

Вы можете проверить тест-случай среды под названием testtornado на http://github.com/harshh/Harsh-Projects/ с main.py как сервера запускающего файла.

Я хотел бы получить помощь от любого, кто может пролить свет на это.

+0

Не могли бы вы предоставить дополнительную информацию о вызове, который вы пытаетесь сделать в jquery. Если бы вы могли, можете ли вы опубликовать пример javascript, который вы пытаетесь выполнить. – scptre

+0

Весь код находится в репозитории github, указанном в моем вопросе. – simplyharsh

ответ

0

Невозможно получить более подробные объяснения здесь. Хотя некоторые более интересные сведения можно найти Tornado group discussion. Благодарю.

0

Просмотрев файл test.js, get_handler1 и get_handler2 полностью независимы друг от друга. Тем не менее, ваш браузер или прокси (если вы используете его) может применять один запрос на домен, который заставит ваши запросы XHR казаться синхронными. Популярные прокси-сервера отладки HTTP, такие как Fiddler, могут обеспечивать соблюдение таких ограничений. В браузерах также есть настройки, которые вы можете изменить, чтобы ваш браузер выдавал более одного запроса на один домен одновременно.