AJAX - XMLHttpRequest
O objeto XMLHttpRequest é a chave para AJAX. Ele está disponível desde o lançamento do Internet Explorer 5.5 em julho de 2000, mas não foi totalmente descoberto até que o AJAX e a Web 2.0 em 2005 se tornassem populares.
XMLHttpRequest (XHR) é uma API que pode ser usada por JavaScript, JScript, VBScript e outras linguagens de script de navegador da web para transferir e manipular dados XML de e para um servidor da web usando HTTP, estabelecendo um canal de conexão independente entre o cliente de uma página da web e Lado do servidor.
Os dados retornados de chamadas XMLHttpRequest serão frequentemente fornecidos por bancos de dados back-end. Além de XML, XMLHttpRequest pode ser usado para buscar dados em outros formatos, por exemplo, JSON ou mesmo texto simples.
Você já viu alguns exemplos de como criar um objeto XMLHttpRequest.
Listados abaixo estão alguns dos métodos e propriedades com os quais você deve se familiarizar.
Métodos XMLHttpRequest
abort()
Cancela a solicitação atual.
getAllResponseHeaders()
Retorna o conjunto completo de cabeçalhos HTTP como uma string.
getResponseHeader( headerName )
Retorna o valor do cabeçalho HTTP especificado.
open( method, URL )
open( method, URL, async )
open( method, URL, async, userName )
open( method, URL, async, userName, password )
Especifica o método, URL e outros atributos opcionais de uma solicitação.
O parâmetro do método pode ter um valor de "GET", "POST" ou "HEAD". Outros métodos HTTP como "PUT" e "DELETE" (usados principalmente em aplicativos REST) podem ser possíveis.
O parâmetro "async" especifica se a solicitação deve ser tratada de forma assíncrona ou não. "true" significa que o processamento do script continua após o método send () sem esperar por uma resposta, e "false" significa que o script espera por uma resposta antes de continuar o processamento do script.
send( content )
Envia o pedido.
setRequestHeader( label, value )
Adiciona um par rótulo / valor ao cabeçalho HTTP a ser enviado.
Propriedades XMLHttpRequest
onreadystatechange
Um manipulador de eventos para um evento que dispara a cada mudança de estado.
readyState
A propriedade readyState define o estado atual do objeto XMLHttpRequest.
A tabela a seguir fornece uma lista dos valores possíveis para a propriedade readyState -
Estado | Descrição |
---|---|
0 | A solicitação não foi inicializada. |
1 | A solicitação foi configurada. |
2 | O pedido foi enviado. |
3 | A solicitação está em andamento. |
4 | A solicitação foi concluída. |
readyState = 0 Depois de criar o objeto XMLHttpRequest, mas antes de chamar o método open ().
readyState = 1 Depois de ter chamado o método open (), mas antes de ter chamado send ().
readyState = 2 Depois de chamar send ().
readyState = 3 Depois que o navegador estabelecer uma comunicação com o servidor, mas antes que o servidor conclua a resposta.
readyState = 4 Depois que a solicitação foi concluída e os dados de resposta foram completamente recebidos do servidor.
responseText
Retorna a resposta como uma string.
responseXML
Retorna a resposta como XML. Esta propriedade retorna um objeto de documento XML, que pode ser examinado e analisado usando os métodos e propriedades da árvore do nó DOM W3C.
status
Retorna o status como um número (por exemplo, 404 para "Não encontrado" e 200 para "OK").
statusText
Retorna o status como uma string (por exemplo, "Não encontrado" ou "OK").