O evento onreadystatechange
Quando uma solicitação para um servidor é enviado, queremos executar algumas ações com base na resposta.
O evento onreadystatechange é acionado toda vez que as mudanças readyState.
A propriedade readyState detém o status do XMLHttpRequest.
Três propriedades importantes do objeto XMLHttpRequest:
Propriedade | Descrição |
---|---|
onreadystatechange | Armazena uma função (ou o nome de uma função) a ser chamado automaticamente cada vez que as alterações de propriedade readyState |
readyState | Detém o status do XMLHttpRequest. Muda de 0 a 4: 0: pedido não inicializado 1: conexão do servidor estabelecida 2: pedido recebido 3: solicitação de processamento 4: solicitar acabado e de resposta está pronto |
status | 200: "OK" 404 Página Não Encontrada |
No caso onreadystatechange, especificamos o que acontecerá quando a resposta do servidor está pronto para ser processado.
Quando readyState é 4 eo estado é de 200, a resposta está pronta:
Exemplo
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
Tente você mesmo " Nota: O evento é accionado onreadystatechange cinco vezes (0-4), uma vez para cada mudança na readyState.
Usando uma função de retorno
A função de retorno é uma função passada como um parâmetro para outra função.
Se você tem mais de uma tarefa AJAX em seu site, você deve criar uma função padrão para criar o objeto XMLHttpRequest, e chamar isso para cada tarefa AJAX.
A chamada de função deve conter o URL eo que fazer em onreadystatechange (que é provavelmente diferente para cada chamada):
Exemplo
function loadDoc(cFunc) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200) {
cFunc(xhttp);
}
Tente você mesmo "