Всегда ли сервер получает запросы AJAX в том же порядке, в котором они были отправлены? - PullRequest
2 голосов
/ 02 мая 2011

У меня есть веб-страница, которая отправляет информацию через AJAX на сервер. Мне нужно убедиться, что сервер обрабатывает запросы в правильном порядке. Возможно ли, что сервер может получать запросы в порядке, отличном от того, что они были отправлены? Веб-страница гарантирует, что запросы отправляются в правильном порядке, но время между запросами может быть очень коротким. Страница не получает данные от сервера, поэтому ответы не должны быть в порядке.

Ответы [ 4 ]

4 голосов
/ 02 мая 2011

Поскольку каждый AJAX-запрос выполняется в своем собственном соединении, нет никакой гарантии, что асинхронные запросы будут поступать в том же порядке, в котором они были отправлены.

Если вы хотите быть уверены, что онипоступать в том же порядке, в каком они отправлены, использовать синхронные запросы.Другая возможность - объединить запросы в один.

2 голосов
/ 02 мая 2011

Это зависит от вашего сервера и нагрузки на сервер. Обычно запрос, если он не требует много процессорного времени, должен обрабатываться в правильном порядке.

Чтобы быть абсолютно уверенным, вы можете реализовать очередь отправки. Второй запрос ожидает завершения первого и т. Д. Это, конечно, требует гораздо больше усилий по реализации.

1 голос
/ 13 июня 2013

Каждый AJAX-запрос от браузера может перемещаться по другому сетевому пути к серверу. Поэтому, если браузер выполняет асинхронные запросы в порядке 1,2,3,4,5, они могут отображаться в этом порядке при случайном тестировании, но в какой-то момент они могут поступить в порядке, подобном 1,2,5,3. 4, когда что-то меняется в сети. Если порядок сообщений, полученных сервером, имеет значение, вам нужно будет создать очередь сообщений.

1 голос
/ 02 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...