tutoriais mais recente desenvolvimento web
 

AJAX - O evento onreadystatechange


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 "