AJAX синхронный запрос и операции во время ожидания - PullRequest
0 голосов
/ 28 октября 2011

У меня есть клиентская программа ExtJS, которая взаимодействует с сервером, используя синхронный AJAX.Более 95% ответов поступают менее чем за 1 секунду, но есть несколько случаев, когда сервер может выполнять команды в течение 10 секунд и более.Вот почему мне нужен какой-то механизм, который может сообщить пользователю, что это не ошибка (форма «пожалуйста, подождите»)

Итак.Мне нужно что-то вроде

  1. отправить запрос;
  2. setTimeOut ('показать форму загрузки', 2 секунды);
  3. ждать ответа
  4. закрытьзагрузка формы
  5. процесс ответа.

Есть ли какой-нибудь способ выполнить некоторую функцию во время ожидания синхронного ответа AJAX?

PS Я использую синхронный из-за устаревшего, естьнет способа исправить это (лучший способ - более 6 месяцев работы).

Ответы [ 2 ]

1 голос
/ 12 апреля 2012

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

0 голосов
/ 28 октября 2011

Да, вы можете. Это называется асинхронный jax. Это означает, что во время выполнения HTTP-запроса вы можете выполнять другие действия.

Однако, с синхронным jax, вы не можете этого сделать.

JavaScript является однопоточным.

Это означает, что синхронный ajax-запрос заблокирует ваш единственный поток.

Лучшее, что вы можете сделать - показать экран загрузки перед каждым запросом sjax и удалять его после каждого запроса.

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