1. AJAX - O Objeto XMLHttpRequest - Parte 1
Principal .: Compras :.
Início AJAX - O Objeto XMLHttpRequest - Parte 1
Categorias
Ajax 12/01/2006 18:00:00
DHTML
Autor: Rondinely S. de Almeida
XML
PHP
Serviços para Webmasters
MySQL
IP Microsoft CRM é L3
Qual é o meu IP? Parceira do Ano 2009 da Microsoft Especialista
em Dynamics CRM
www.L3.com.br
Cursos Microsoft - GREEN
MCITP, MCTS, MCSE, MCSA, MCP 15x + Curso
ITIL Grátis*
www.green.com.br
AntiVirus - iG AntiVírus
Seu Computador Pode Estar em Risco. iG
AntiVírus a partir de R$3,95!
iG.com.br/Antivirus
|<< Primeira < Anterior 1/2 Próxima > Última >>|
Este é o primeiro artigo de uma série na qual estaremos explorando os detalhes da técnica AJAX
de programação web.
Asynchronous JavaScript and XML, ou AJAX consiste em um método para se comunicar com um
servidor web sem a necessidade de recorrer ao recarregamento de página. Na maior parte do
tempo são utilizadas as mesmas técnicas da programação DHTML, o que difere a tecnologia
AJAX da DHTML é o uso do objeto XMLHttpRequest. Este objeto permite a um código
JavaScript fazer o envio de dados e receber uma resposta de um servidor sem a necessidade de
recarregar todo o código da página web. Dai vem o termo Asynchronous (assincrono) da
definição de AJAX, porque pode-se carregar dados não necessariamente ao mesmo tempo em
que se carrega a página, em outras palavras, não precisa haver sincronia do carregamento de
dados com o carregamento da página web.
Quem primeiro implementou o objeto XMLHttpRequest foi a Microsoft no IE 5, ele foi
implementado como um ActiveX (para variar), mais tarde ele foi implementado no Mozilla 1.0,
Netscape 7, Safari 1.2 e Opera 7.6, nestes navegadore como um objeto JAVA.
Criando o Objeto XMLHttpRequest
Para criar uma instância do objeto XMLHttpRequest temos que levar em conta que:
Na maioria dos navegadores o objeto XMLHttpRequest é um objeto JAVA;
No Internet Explorer o objeto XMLHttpRequest é de natureza ActiveX;
Como a Microsoft não gosta de padronização possui duas versões diferentes de ActiveX
para o objeto XMLHttpRequest.
http://www.hospedia.com.br/artigos/4/ajax/1/ajax_-_o_objeto_xmlhttprequest_-_parte_1.html[07/12/2009 15:08:03]
2. AJAX - O Objeto XMLHttpRequest - Parte 1
As duas versões do objeto ActiveX a que nos referimos são as seguintes: Microsoft.XMLHTTP
e Msxml2.XMLHTTP, sendo esta última a mais recente.
Com estas condições em mente podemos criar o seguinte código Javascript:
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined' ) {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false ;
}
}
Neste script primeiramente tentamos criar o objeto XMLHttpRequest a partir de um ActiveXObject
que poderia ser baseado no Msxml2.XMLHTTP (versão mais recente), ou no Microsoft.XMLHTTP
(versão mais antiga). Caso não seja possível criar o ActiveXObject partimos para a criação a
partir de um objeto JAVA. É bom lembrar que existe sempre a possibilidade de nenhum funcionar,
neste caso o navegador não fornece suporte a esta tecnologia e não poderemos dar continuação
ao uso de técnicas AJAX no script.
Método OPEN
Não deixe de ver também:
AntiVirus - iG AntiVírus Microsoft Dynamics AX2009
Seu Computador Pode Estar em Risco. iG Está em processo de troca do ERP?
AntiVírus a partir de R$3,95! Conheça o Microsoft Dynamics 2009
Após termos criado o objeto podemos dar início a comunicação com o servidor. Para isto
usaresmo o método OPEN do objeto XMLHttpRequest. Este método nos permite abrir um
documento, passar argumentos para ele e capiturar uma resposta. O método OPEN funciona com
o auxilio do método SEND como veremos a seguir.
O método OPEN aceita cinco parâmetros: open("método ", "URL "[, sinaldesincronização[,
"nomeUsuário"[, "senha"]]]).
Como podemos notar os parâmetros método e URL são obrigatórios, os demais podem ser
utilizados ou não no script conforme nossa necessidade.
Existem dois métodos possíveis de se utilizar para acessar um documento: GET e POST. O
método mais comum é GET, pois funciona de maneira mais simples, no entanto quando a
quantidade de informações a ser passada é muito grande recomenda-se o uso de POST.
URL é o caminho para o documento que desejamos acessar, pode ser um caminho completo ou
relativo.
O sinaldesincronização avisa ao objeto XMLHttpRequest se desejamos que nossa
comunicação seja assincrona ou sincronizada. Por padrão este parâmetro é verdadeiro o que
indica uma comunicação assincrona, que significa que o script e consequentemente a página web
não ficarão parados, congelados, enquanto o objeto XMLHttpRequest recebe uma resposta.
Fica óbvio que esta será a melhor opção na maioria dos casos, uma vez que por um número
enorme de motivos alheios ao nosso controle esta comunicação pode demorar muito e até não se
realizar.
Os dois últimos parâmetros opcionais servem para passarmos o nome de usuário e senha caso o
documento que estejamos tentando acessar esteja protegido.
Um exemplo simples de utilização do método OPEN seria o seguinte:
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "/dados.xml");
http://www.hospedia.com.br/artigos/4/ajax/1/ajax_-_o_objeto_xmlhttprequest_-_parte_1.html[07/12/2009 15:08:03]