Odpowiedzi:
Pełna lista readyState
wartości to:
State Description
0 The request is not initialized
1 The request has been set up
2 The request has been sent
3 The request is in process
4 The request is complete
(z https://www.w3schools.com/js/js_ajax_http_response.asp )
W praktyce prawie nigdy nie używasz żadnego z nich poza 4.
Niektóre implementacje XMLHttpRequest mogą wyświetlać częściowo otrzymane odpowiedzi w responseText
momencie readyState==3
, ale nie jest to powszechnie obsługiwane i nie należy na nim polegać.
Kieron „s odpowiedź zawiera W3Schools ref. na którym nikt nie polega, odpowiedź bobince'a podaje link, który faktycznie mówi natywną implementację IE,
więc oto oryginalna dokumentacja zacytowana, aby właściwie zrozumieć, co reprezentuje readystate:
Obiekt XMLHttpRequest może znajdować się w kilku stanach. Atrybut readyState musi zwracać bieżący stan, który musi mieć jedną z następujących wartości:
UNSENT (wartość liczbowa 0)
Obiekt został skonstruowany.OPENED (wartość liczbowa 1)
Metoda open () została pomyślnie wywołana. W tym stanie nagłówki żądania można ustawić za pomocą metody setRequestHeader (), a żądanie można wykonać za pomocą metody send ().HEADERS_RECEIVED (wartość liczbowa 2) Wykonano
wszystkie przekierowania (jeśli istnieją) i odebrano wszystkie nagłówki HTTP ostatecznej odpowiedzi. Obecnie dostępnych jest kilka elementów odpowiedzi obiektu.LOADING (wartość liczbowa 3)
Odbierana jest treść jednostki odpowiedzi.DONE (wartość numeryczna 4)
Transfer danych został zakończony lub coś poszło nie tak podczas przesyłania (np. Nieskończone przekierowania).
Proszę przeczytać tutaj: W3C Wyjaśnienie ReadyState
Oryginalna, ostateczna dokumentacja
0
, 1
i 2
śledź tylko liczbę metod niezbędnych do wysłania żądania, które zostało wywołane do tej pory.
3
informuje, że zaczęła napływać odpowiedź serwera. Ale kiedy używasz XMLHttpRequest
obiektu ze strony internetowej, prawie nic (*) nie możesz zrobić z tymi informacjami, ponieważ nie masz dostępu do rozszerzonych właściwości, które pozwalają przeczytać częściowe dane.
readyState 4
jest jedynym, który ma jakiekolwiek znaczenie.
(*: jedyne możliwe zastosowanie, jakie przychodzi mi do głowy do sprawdzania readyState 3
, to sygnalizacja jakiejś formy życia na końcu serwera, więc możesz zwiększyć czas oczekiwania na pełną odpowiedź po jej otrzymaniu).
onreadystatechange Przechowuje funkcję (lub nazwę funkcji), która ma być wywoływana automatycznie za każdym razem, gdy właściwość readyState zmienia się. readyState Przechowuje status XMLHttpRequest. Zmiany od 0 do 4:
0: żądanie nie zostało zainicjowane
1: nawiązano połączenie z serwerem
2: otrzymano żądanie
3: żądanie przetwarzania
4: żądanie zakończone i odpowiedź jest gotowa
status 200: „OK”
404: nie znaleziono strony
(Z https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState)