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.
|
| 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:
|
| 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. |
|
Conteúdo disponibilizado gratuitamente pelo Mercado Digital |