Web Sites com Ajax

JavaScript

O objeto XMLHttpRequest

O objeto XMLHttpRequest foi primeiramente implementado pela Microsoft no Internet Explorer como um objeto ActiveX chamado XMLHTTP. Logo após, outros browsers (Mozilla, Safari, entre outros) seguiram o mesmo caminho, implementando o XMLHttpRequest em uma classe que suporta as propriedades e os métodos do objeto ActiveX da Microsoft.

Como você pode perceber, outros browsers implementaram o objeto XMLHttpRequest de forma nativa, mas a Microsoft, em seu navegador (Internet Explorer), o implementou como um objeto ActiveX, apesar de ter sido sua a idéia.

Isso significa dizer que precisaremos verificar qual o objeto que o browser trabalha, XMLHTTP ou XMLHttpRequest.

Conheceremos agora as propriedades, métodos e eventos do objeto XMLHttpRequest e, no capítulo seguinte (onde desenvolveremos o projeto final), veremos como instanciar tal objeto para trabalharmos com ele.

Propriedades do objeto XMLHttpRequest
readyState

A requisição se apresenta em 4 (quatro) estágios; ambos representando por um número.

  • 0 - não inicializado;
  • 1 - carregamento;
  • 2 - carregado;
  • 3 - interativo;
  • 4 - completo.
status Código númerico do status HTTP retornado pelo servidor web.
statusText Texto associado ao código númerico do status HTTP. Por exemplo: 200 significa "OK" e 404 significa "Página não encontrada".
responseText String que contém os dados retornados pelo servidor web.
responseXML Se o servidor web retornar um documento XML, lhe permitindo acessá-lo através de funções JavaScript utilizando o DOM.
Métodos do objeto XMLHttpRequest
open(método, url, síncrono, usuário, senha)

Inicia uma nova requisição, onde:

  • método - Requisição HTTP, na maiorida das vezes "GET", ou "POST";
  • url - endereço da URL que será requisitada no servidor web;
  • síncrono - se o método trabalhará de forma síncrona ou assíncrona; o valor padrão é true - assíncrona;
  • usuário e senha - se o servidor web necessitar de uma autenticação.
setRequestHeader(nome, valor) Informa um cabeçalho (header) para a requisição.
send(dados) Envia a requisição. Enviando opcionalmente os dados.
abort() Aborta uma requisição em atividade.
getResponseHeader(nome) Retorna o valor do cabeçalho (header) informado.
getAllResponseHeaders() Retorna uma string contendo todos os cabeçalhos (header).
Eventos do objeto XMLHttpRequest
onreadystatechange Elevando a cada mudança da propriedade readyState.