Respostas:
A lista completa de readyState
valores é:
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
(de https://www.w3schools.com/js/js_ajax_http_response.asp )
Na prática, você quase nunca usa nenhum deles, exceto 4.
Algumas implementações de XMLHttpRequest podem permitir que você veja respostas parcialmente recebidas em responseText
quando readyState==3
, mas isso não é universalmente suportado e não deve ser invocado.
kieron 's resposta contém w3schools ref. no qual ninguém confia, a resposta de bobince fornece um link, que na verdade informa a implementação nativa do IE,
então aqui está a documentação original citada para entender corretamente o que readystate representa:
O objeto XMLHttpRequest pode estar em vários estados. O atributo readyState deve retornar o estado atual, que deve ser um dos seguintes valores:
UNSENT (valor numérico 0)
O objeto foi construído.OPENED (valor numérico 1)
O método open () foi chamado com sucesso. Durante esse estado, os cabeçalhos de solicitação podem ser definidos usando setRequestHeader () e a solicitação pode ser feita usando o método send ().HEADERS_RECEIVED (valor numérico 2)
Todos os redirecionamentos (se houver) foram seguidos e todos os cabeçalhos HTTP da resposta final foram recebidos. Vários membros de resposta do objeto agora estão disponíveis.LOADING (valor numérico 3)
O corpo da entidade de resposta está sendo recebido.DONE (valor numérico 4)
A transferência de dados foi concluída ou algo deu errado durante a transferência (por exemplo, redirecionamentos infinitos).
Leia aqui: Explicação W3C de ReadyState
Documentação definitiva original
0
, 1
E 2
única acompanhar como muitos dos métodos necessários para fazer um pedido que você chamou até agora.
3
informa que a resposta do servidor começou a chegar. Mas quando você está usando o XMLHttpRequest
objeto de uma página da web, não há quase nada (*) que você possa fazer com essa informação, já que você não tem acesso às propriedades estendidas que permitem você a ler os dados parciais.
readyState 4
é o único que possui algum significado.
(*: quase o único uso concebível que posso pensar para verificar o readyState 3
é que ele sinaliza alguma forma de vida no final do servidor, então você pode aumentar o tempo de espera por uma resposta completa quando a receber.)
onreadystatechange Armazena uma função (ou o nome de uma função) a ser chamada automaticamente sempre que a propriedade readyState muda. readyState Contém o status do XMLHttpRequest. Mudanças de 0 a 4:
0: solicitação não inicializada
1: conexão do servidor estabelecida
2: pedido recebido
3: solicitação de processamento
4: pedido concluído e resposta pronta
status 200: "OK"
404 Página Não Encontrada
(De https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState)