--- title: XMLHttpRequest.readyState slug: Web/API/XMLHttpRequest/readyState tags: - AJAX - Property - Reference - XML - XMLHttpRequest translation_of: Web/API/XMLHttpRequest/readyState ---

{{APIRef('XMLHttpRequest')}}

A propriedade XMLHttpRequest.readyState retorna o estado de um XMLHttpRequest. Uma requisição XHR que existe em um dos seguintes estados:

Valor Estado Descrição
0 UNSENT Um cliente foi criado. Mas o método open()  não foi chamado ainda.
1 OPENED O método open() foi chamado.
2 HEADERS_RECEIVED o método send() foi chamado e os cabeçalhos e status estão disponíveis .
3 LOADING Baixando e responseText contem os dados parciais.
4 DONE Operação concluída.
UNSENT
O XMLHttpRequest foi criado. Mas o método open() não foi chamado ainda.
OPENED
O método open() foi invocado. Durante esse estado, os headers da requisição podem ser inseridos usando o método setRequestHeader()  e o método send() pode ser chamado, iniciando a busca.
HEADERS_RECEIVED
O método send() foi chamado e os cabeçalhos de respostas foram recebidos.
LOADING
A resposta da requisição está sendo recebida. se o responseType for "text" ou  um texto em branco, o responseText terá o texto parcial da resposta conforme seu carregamento.
DONE
A Operação de busca está completa. Isso pode significar que a trasferência foi concluída com êxito ou que falhou.

Os nomes de estado são diferentes no Internet Explorer. Ao invés de UNSENT, OPENED, HEADERS_RECEIVED, LOADING DONE, os nomes usados são: READYSTATE_UNINITIALIZED (0), READYSTATE_LOADING (1), READYSTATE_LOADED (2), READYSTATE_INTERACTIVE (3) e READYSTATE_COMPLETE (4).

Exemplo

var xhr = new XMLHttpRequest();
console.log('UNSENT', xhr.readyState); // readyState will be 0

xhr.open('GET', '/api', true);
console.log('OPENED', xhr.readyState); // readyState will be 1

xhr.onprogress = function () {
    console.log('LOADING', xhr.readyState); // readyState will be 3
};

xhr.onload = function () {
    console.log('DONE', xhr.readyState); // readyState will be 4
};

xhr.send(null);

Especificações

Especificação Status Commentários
{{SpecName('XMLHttpRequest', '#states')}} {{Spec2('XMLHttpRequest')}} WHATWG living standard

Compatibilidade com navegadores

{{CompatibilityTable}}
Suporte Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Suporte básico {{CompatChrome(1)}} {{CompatGeckoDesktop("1.0")}}[1] {{CompatIe(7)}} {{CompatVersionUnknown}} {{CompatSafari("1.2")}}
Suporte Android Chrome para Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico {{CompatUnknown}} 1.0 {{CompatVersionUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}