3

Вы когда-нибудь использовали объект XHR для перехвата onreadystatechange с readyState, отличным от «4» (полный)?Есть ли полезное использование readyState, отличное от «4» (полное) в обратном вызове XHR.onreadystatechange?

Мне любопытно узнать, если вы когда-либо запускаете функцию с возможными различными значениями. Я не могу представить себе реальное использование других состояний. Они несколько полезны для чего-то?

Может привести некоторые практические примеры, если они есть?

I'm talking about these:

  • 0: Запрос не инициализирован
  • 1: соединение с сервером установлено
  • 2: Запрос получен
  • 3: Обработка запроса
  • 4: запросить закончен и ответ готов

ответ

2

Я использую его в интрасети, которую я разработал для целей уведомления. Перехват состояния 3 Я могу уведомить пользователя о начале запроса.

Я также использую его во время запроса времени передачи. Я отображать время, прошедшее между состояниями 3 и 4.

Поскольку я использую MooTools я расширил класс Запроса уволить onStateChange события:

var EarlyRequest = new Class({Extends: Request, 
onStateChange: function() { 
    this.fireEvent("onStateChange", [this.xhr.readyState]); 
    this.parent(); 
} 
}); 

На дополнительной ноте. Определения состояний, которые вы размещены (от w3cschools), вводят в заблуждение, это понятнее для меня (от http://www.w3.org/TR/XMLHttpRequest/#states):

  • UNSENT (числовое значение 0) Объект был построен.

  • ОТКРЫТ (числовое значение 1) Метод Open() был успешно вызван. Во время этого состояния заголовки запросов могут быть установлены с помощью setRequestHeader(), и запрос может быть выполнен с использованием метода send().

  • HEADERS_RECEIVED (числовое значение 2) Все перенаправления (если таковые имеются) были соблюдены, и были получены все HTTP заголовки окончательного ответа. Теперь доступно несколько элементов ответа объекта.

  • ЗАГРУЗКА (числовое значение 3) Ответ тела субъекта принимается.

  • DONE (числовое значение 4) Передача данных завершена или что-то пошло не так во время передачи (например, с бесконечной переадресацией).

 Смежные вопросы

  • Нет связанных вопросов^_^