English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O objeto XMLHttpRequest é usado para trocar dados com o servidor.
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.
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‹/›
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.
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‹/›
A tabela a seguir lista todos os atributos do objeto XMLHttpRequest:
Atributo | Descrição |
---|---|
onreadystatechange | Definir a função a ser chamada quando o atributo readyState mudar |
readyState | Manter 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 |
responseText | Retorna os dados da resposta em formato de string |
responseXML | Retorna os dados da resposta como dados XML |
status | Retorna 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 |
statusText | Retorna o texto do estado da solicitação (por exemplo, “OK”ou“Não Encontrado”) |
A tabela a seguir lista todos os métodos do objeto XMLHttpRequest:
Método | Descriçã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 |