XMLHttpRequest ошибка 0 правильного управления (повторите запрос) - PullRequest
5 голосов
/ 31 января 2010

Когда XMLHttpRequest получает ошибку 0, это означает, что соединение отсутствует, и в большинстве случаев вы просто хотите повторить попытку через некоторое время.

Есть ли простой способ прозрачно повторить запрос XMLHttpRequest, уведомляющий пользователя о потере соединения (как это делает gmail)?

(я использую jQuery)

1 Ответ

11 голосов
/ 31 января 2010

Найдите здесь то, что вам нужно: Оборонительные попытки AJAX и AJAX в jQuery .

В основном в обработчике ошибок вы можете сделать $.ajax(this);

$.ajax({
  url : 'timeOutPage.html',
  type : 'get',
  timeout : 20000,
  error : function(xhr, textStatus, errorThrown ) {
     if (textStatus == 'timeout') {
       $.ajax(this);
       return;
     }
  }
 });

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

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