Как правильно обрабатывать таймауты 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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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