English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

AJAX - Objeto XMLHttpRequest

O objeto XMLHttpRequest é usado para trocar dados com o servidor.

Objeto XMLHttpRequest

Todos os navegadores modernos (Chrome, Firefox, IE7 +Edge, Safari, Opera) possuem objetos XMLHttpRequest integrados.

XMLHttpRequest permite atualizações assíncronas da página da web através de intercâmbio de dados com o servidor web oculto.

Você pode recuperar dados de uma URL sem atualizar toda a página.

Isso permite que a página da web atualize uma parte da página sem interromper a operação do usuário.

Criar um objeto XMLHttpRequest

Antes de executar comunicação AJAX entre cliente e servidor, a primeira coisa a fazer é criar um objeto XMLHttpRequest, conforme exemplo abaixo:

Sintaxe:

var request = new XMLHttpRequest();
var httpRequest = new XMLHttpRequest();
Teste e veja‹/›

XMLHttpRequest entre domínios

Por razões de segurança, os navegadores modernos não permitem acesso a domínios cruzados.

Isso significa que a página da web e o arquivo solicitado que ela tenta carregar devem estar no mesmo servidor.

w3exemplos no codebox.com abriram arquivos localizados no servidor w3todos os arquivos solicitados abertos no domínio codebox.com.

Se você quiser usar o exemplo acima em um de seus próprios sites, o arquivo solicitado deve estar localizado no seu próprio servidor.

Navegadores mais antigos (aplicáveis ao IE 6e versões mais antigas)

Versões antigas do Internet Explorer (6e versões mais antigas) usam objetos ActiveX em vez do objeto XMLHttpRequest.

Sintaxe:
var request = new ActiveXObject("Microsoft.XMLHTTP");

Para lidar com o IE6e versões mais antigas, verifique se o navegador suporta o objeto XMLHttpRequest, caso contrário, crie um objeto ActiveX:

var httpRequest;
if (window.XMLHttpRequest) {
    // Os navegadores mais populares (Chrome, Mozilla, Safari, IE7+, ...)
    httpRequest = new XMLHttpRequest();
else if (window.ActiveXObject) {
    // <= IE 6 ou versões mais antigas do IE
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
Teste e veja‹/›

Atributos do objeto XMLHttpRequest

A tabela a seguir lista todos os atributos do objeto XMLHttpRequest:

AtributoDescrição
onreadystatechangeDefinir a função a ser chamada quando o atributo readyState mudar
readyStateManter o estado do XMLHttpRequest:
0:Requisição não inicializada
1:Conexão de servidor estabelecida
2:Recebendo a requisição
3:Processando a requisição
4:Requisição concluída e resposta pronta
responseTextRetorna os dados da resposta em formato de string
responseXMLRetorna os dados da resposta como dados XML
statusRetorna o número do estado da solicitação:
200:“OK”
403:“Proibido”
404:“Não Encontrado”
Para lista completa, acesseReferência de código de estado HTTP
statusTextRetorna o texto do estado da solicitação (por exemplo, “OK”ou“Não Encontrado”)

Métodos do objeto XMLHttpRequest

A tabela a seguir lista todos os métodos do objeto XMLHttpRequest:

MétodoDescrição
new XMLHttpRequest()Criar um novo objeto XMLHttpRequest
abort()Cancelar a requisição atual
getAllResponseHeaders()Retornar informações de título
getResponseHeader()Retornar informações específicas do cabeçalho
open(method, url, async)Especificar requisição
method:Tipo de requisiçãoGETouPOST
url:Posição do arquivo
async:true(assíncrono)ou false(síncrono)
send()Enviar a requisição para
Usado paraGETServidor da requisição
send(string)Enviar a requisição para o servidor.
Usado paraPOSTRequisição
setRequestHeader(header, value)Definir cabeçalho HTTP para a requisição
header:Especificar nome do cabeçalho
value:Especificar valor do cabeçalho