Посмотрите на this reference page. Укажите обратный вызов для onreadystatechange
. Простая панель загрузки немного увеличит планку при изменении readyState
. Возможно, это связано с тем, что делает связанный сайт, и это то, что делают современные браузеры (они переключают значок загрузки после получения заголовков или после подключения). Более сложная полоса загрузки будет читать заголовки, полученная из запроса при HEADERS_RECEIVED
, а затем сравнить заголовок длиной содержимого (при LOADING
) к количеству полученных байт до сих пор:
Загрузки; responseText содержит частичные данные.
Этот метод может быть слишком сложным для добавленной стоимости. AJAX, как правило, предназначен для возврата световых данных, поэтому время загрузки не должно быть достаточно длинным, чтобы действительно потребоваться мелкозернистая загрузочная панель.
Возможно, вам придется реализовать это по-другому, если использовать jQuery, но алгоритм тот же.
Я не использую jquery, но если я хочу, у меня есть пример xhr2, который будет выполнять работу по-родному. Дело в том, что не все браузеры поддерживают это ... но почти все последние do.http://caniuse.com/xhr2 – cocco