AJAX синхронный (SJAX) при восстановлении сеанса - PullRequest
0 голосов
/ 05 октября 2010

У меня есть большая веб-страница (классический ASP) с большим количеством информации, требуемой от пользователя, поэтому много входных данных.Поведение пользователя заключается в том, что он будет заполнять информацию с течением времени, анализировать ее и другие трудоемкие процессы перед отправкой.Проблема в том, что, хотя время ожидания сеанса установлено на разумные 30 минут, часто я получаю жалобы на то, что при отправке пользователь получает сообщение об истечении времени ожидания и теряет всю свою работу, все, что он заполнил раньше.Я подумал, что было бы элегантно проверить событие submit, если сеанс отменен, и в этом случае появится форма входа.С помощью синхронного Ajax для проверки сеанса и для самого входа в систему состояние веб-страницы останется неизменным, что позволит пользователю продолжить отправку после восстановления сеанса.

Однако яЧитал о синхронных опасностях и о том, как это рекомендуется избегать, когда это возможно.Мне кажется, что это один из тех случаев, когда требуется синхронность, но я не нашел никого, кто бы делал это раньше.Я ищу совет о том, является ли это хорошим вариантом действий, используя Ajax синхронно для восстановления сеанса.

Спасибо.

1 Ответ

0 голосов
/ 05 октября 2010

Здесь нет необходимости делать синхронный запрос.Вы можете отменить отправку формы (return false или event.preventDefault() из обработчика отправки), запустить асинхронный запрос XMLHttpRequest, чтобы выполнить проверку, затем в обработчике ответа AJAX либо отобразить сообщение, либо перезапустить отправку формы (form.submit()) какуместно.

Я бы предположил, что 30 минут - это, вероятно, не разумное время ожидания сеанса, если оно вызывает эти проблемы.Более длительный тайм-аут и / или наличие формы, отправляющей запрос серверу для поддержания активности сеанса, может быть более удобным подходом для пользователей.

...