Original definitive documentation
0
, 1
i 2
tylko śledzić liczbę niezbędnych metod, aby złożyć zamówienie już nazywa się tak daleko.
3
mówi, że odpowiedź serwera zaczęła wchodzić. Ale gdy używasz obiektu XMLHttpRequest
ze strony internetowej nie ma prawie nic (*) można zrobić z tych informacji, ponieważ nie ma dostępu do rozszerzonych właściwości, które umożliwiają odczytanie danych cząstkowych.
readyState 4
jest jedynym, który ma jakiekolwiek znaczenie.
(*: o jedynym możliwym użyciu, o jakim można pomyśleć przy sprawdzaniu readyState 3
, jest to, że sygnalizuje pewną formę życia po stronie serwera, więc możesz zwiększyć czas oczekiwania na pełną odpowiedź, gdy otrzymasz go.)
Nie referencyjnej [w3fools] (http://w3fools.com /). Często są w błędzie. – MattBianco
Błędy w transferze wciąż aktualizują readyState do 4. Jednakże, transfer całkowicie przerwany zresetuje readyState do 0. Tak więc błąd w transferze, który jest wynikiem przekierowania, nie jest tak naprawdę "błędem" i możesz zignorować logowanie/zgłaszanie błędu, jeśli parametr readyState of the xhr wynosi 0. Jest to trochę delikatne, a przebieg może się różnić w zależności od tego, czy rejestrowanie każdego zdarzenia/błędu jest "koniecznością", czy "miłym mieć". Jeśli jest to drugie, możesz pozwolić sobie na utratę rzadkiego zdarzenia, które może być błędem wraz z readyState z 0. –
+1 do @MattBianco za jego poradę. Chciałbym również dodać, że Mozilla Developer Network [MDN] (https://developer.mozilla.org/) jest prawdopodobnie jedną z najbardziej popularnych i godnych zaufania stron referencyjnych dla wszystkich potrzeb JavaScript/HTML/CSS. Podczas wyszukiwania w Google, dodaj zapytanie do "mdn", a zaoszczędzisz sobie trochę bólu głowy. – DondeEstaMiCulo