Я использую его в интрасети, которую я разработал для целей уведомления. Перехват состояния 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) Передача данных завершена или что-то пошло не так во время передачи (например, с бесконечной переадресацией).