Вопрос

Я установил точку останова в firebug и изучаю свой объект xhr.Его состояние готовности равно 0, его статус равен 200.Насколько я понимаю, если статус равен 200, запрос должен был, по крайней мере, начаться, а readystate должно быть не менее 1.Кто-нибудь может объяснить, что происходит?

Я использую jquery $.ajax для создания объекта xhr, но я бы не подумал, что это повлияет на readystate и статус xhr.

Это было полезно?

Решение

Запрос завершается, когда readyState равно 4, а не когда статус равен 200.

Другие советы

w3c определяет это readyState является прогрессивным показателем прогресса выполнения xmlhttprequest.Он переходит в порядке от 0 до> 4 (неинициализированный, Открытый, Отправленный, Получаемый, Загруженный), и только при загрузке содержимое готово к чтению.В этом суть свойства и причина, по которой вы отслеживаете onreadystatechange событие, а не статус, который является заголовком ответа.

По той же спецификации status предполагается, что он вызывает исключение, когда недоступен (при получении или загрузке), но я полагаю, что это игнорируется реализацией для простоты использования.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top