Как правильно обрабатывать таймауты ajaxJquery

Программирование на jquery
Anonymous
Как правильно обрабатывать таймауты ajax

Сообщение Anonymous »

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

Вопросы:
  • Какое желательное время ожидания? (без загрузки файлов, просто
    простой вход в систему) Я поставил 15 секунд, но, возможно, это слишком много.
  • Какое лучшее решение?
1) Заставьте пользователя ждать, пока он не решит снова нажать «Войти».

2) Установите тайм-аут ajax< /p>

Код: Выделить всё

$.ajax({

url: '{{ url('/login') }}',
data: data,
method: 'POST',
timeout: 15000,
и отобразить ошибку

Код: Выделить всё

error: function(data, status, error){

if(status==="timeout") {
var errorString = 'Please retry. Ref Timeout';
}
3) выполнить автоматическую повторную попытку (код)

Код: Выделить всё

$.ajax({
url : 'someurl',
type : 'POST',
data :  ....,
tryCount : 0,
retryLimit : 3,
...
error: function(data, status, error){
if (status == 'timeout') {
this.tryCount++;
if (this.tryCount 

Подробнее здесь: [url]https://stackoverflow.com/questions/47787887/how-to-correctly-handle-ajax-timeouts[/url]

Вернуться в «Jquery»