Ajax O Objeto Xml Http Request Parte 1

3

Click here to load reader

Transcript of Ajax O Objeto Xml Http Request Parte 1

Page 1: Ajax   O Objeto Xml Http Request   Parte 1

AJAX - O Objeto XMLHttpRequest - Parte 1

http://www.hospedia.com.br/artigos/4/ajax/1/ajax_-_o_objeto_xmlhttprequest_-_parte_1.html[07/12/2009 15:08:03]

.: Compras :.AJAX - O Objeto XMLHttpRequest - Parte 1

12/01/2006 18:00:00

Autor: Rondinely S. de Almeida

Serviços para Webmasters

Este é o primeiro artigo de uma série na qual estaremos explorando os detalhes da técnica AJAXde programação web.

Asynchronous JavaScript and XML, ou AJAX consiste em um método para se comunicar com umservidor web sem a necessidade de recorrer ao recarregamento de página. Na maior parte dotempo são utilizadas as mesmas técnicas da programação DHTML, o que difere a tecnologiaAJAX da DHTML é o uso do objeto XMLHttpRequest . Este objeto permite a um códigoJavaScript fazer o envio de dados e receber uma resposta de um servidor sem a necessidade derecarregar todo o código da página web. Dai vem o termo Asynchronous (assincrono) dadefinição de AJAX, porque pode-se carregar dados não necessariamente ao mesmo tempo emque se carrega a página, em outras palavras, não precisa haver sincronia do carregamento dedados com o carregamento da página web.

Quem primeiro implementou o objeto XMLHttpRequest foi a Microsoft no IE 5, ele foiimplementado 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 ActiveXpara o objeto XMLHttpRequest.

Microsoft CRM é L3Parceira do Ano 2009 da Microsoft Especialistaem Dynamics CRMwww.L3.com.br

Cursos Microsoft - GREENMCITP, MCTS, MCSE, MCSA, MCP 15x + CursoITIL Grátis*www.green.com.br

AntiVirus - iG AntiVírusSeu Computador Pode Estar em Risco. iGAntiVírus a partir de R$3,95!iG.com.br/Antivirus

|<< Primeira < Anterior 1/2 Próxima > Última >>|

PrincipalInício

CategoriasAjax

DHTML

XML

PHP

MySQLIP

Qual é o meu IP?

Page 2: Ajax   O Objeto Xml Http Request   Parte 1

AJAX - O Objeto XMLHttpRequest - Parte 1

http://www.hospedia.com.br/artigos/4/ajax/1/ajax_-_o_objeto_xmlhttprequest_-_parte_1.html[07/12/2009 15:08:03]

As duas versões do objeto ActiveX a que nos referimos são as seguintes: Microsoft.XMLHTTPe Msxml2.XMLHTTP, sendo esta última a mais recente.

Com estas condições em mente podemos criar o seguinte código Javascript:

Neste script primeiramente tentamos criar o objeto XMLHttpRequest a partir de um ActiveXObjectque 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 apartir 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çãoao uso de técnicas AJAX no script.

Método OPEN

Não deixe de ver também:

Após termos criado o objeto podemos dar início a comunicação com o servidor. Para istousaresmo o método OPEN do objeto XMLHttpRequest. Este método nos permite abrir umdocumento, passar argumentos para ele e capiturar uma resposta. O método OPEN funciona como 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 serutilizados ou não no script conforme nossa necessidade.

Existem dois métodos possíveis de se utilizar para acessar um documento: GET e POST. Ométodo mais comum é GET, pois funciona de maneira mais simples, no entanto quando aquantidade 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 ourelativo.

O sinaldesincronização avisa ao objeto XMLHttpRequest se desejamos que nossacomunicação seja assincrona ou sincronizada. Por padrão este parâmetro é verdadeiro o queindica uma comunicação assincrona, que significa que o script e consequentemente a página webnã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úmeroenorme de motivos alheios ao nosso controle esta comunicação pode demorar muito e até não serealizar.

Os dois últimos parâmetros opcionais servem para passarmos o nome de usuário e senha caso odocumento que estejamos tentando acessar esteja protegido.

Um exemplo simples de utilização do método OPEN seria o seguinte:

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 ; } }

xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET", "/dados.xml");

AntiVirus - iG AntiVírusSeu Computador Pode Estar em Risco. iGAntiVírus a partir de R$3,95!

Microsoft Dynamics AX2009Está em processo de troca do ERP?Conheça o Microsoft Dynamics 2009

Page 3: Ajax   O Objeto Xml Http Request   Parte 1

AJAX - O Objeto XMLHttpRequest - Parte 1

http://www.hospedia.com.br/artigos/4/ajax/1/ajax_-_o_objeto_xmlhttprequest_-_parte_1.html[07/12/2009 15:08:03]

>> Inicio <<© Copyright hospedia.com.br - 2005

Todos os direitos reservados.Seu Ponto de Partida na Internet

Receitas de BolosLyrics

Neste exemplo criamos o objeto XMLHttpRequest (não estamos considerando as diferenças entrenavegadores) e iniciamos a comunicação usando o método GET com o arquivo dados.xml.

No entanto, nosso script até aqui não obtém nenhuma informação útil do documento. Paracompletarmos o processo de comunicação precisamos do método SEND.

Método SEND

É o método SEND que ativa a conexão e faz a requisição de informações ao documento abertopelo método OPEN. Este método possui somente um parâmetro que serve para enviarmos dadosextras ao documento que estamos acessando. Usamos este parâmetro quando, por exemplo, nométodo OPEN, acessamos o documento com POST ao invés de GET, neste caso os dados doPOST são passados neste parâmetro de SEND.

O Internet Explorer não nos obriga a passar nenhum parâmetro, mas outro navegadores como oMozilla, exigem algum dado, neste caso, a melhor solução é que mesmo não havendonecessidade de passar nenhum parâmetro enviemos NULL neste método.

Artigos relacionados

AJAX - O Objeto XMLHttpRequest - Parte 4 : 17/04/2006Como prometemos no artigo anterior vamos ver como, utilizando o mesmo...

AJAX - O Objeto XMLHttpRequest - Parte 3 : 12/03/2006Como prometemos no artigo anterior veriamos uma aplicação prática para...

AJAX - O Objeto XMLHttpRequest - Parte 2 : 18/01/2006Este é o segundo artigo da série e nele vamos conhecer mais a fundo o...

Alimentando uma ComboBox dinamicamente utilizando técnicas AJAX :28/11/2005Este artigo mostrará como responder a uma interação...

|<< Primeira < Anterior 1/2 Próxima > Última >>|

Hospedagem de SitesTeste Agora e Comprove a Qualidade de nossaEstrutura e Atendimento.www.RedeHost.com.br

Hospedagem PhPSite Grátis. Pagamento Facilitado AtivaçãoImediata. R$ 5,90/mêsWebNames.com.br

Cursos Java Interplan RJTurmas 10 alunos.Preços Excelentes! PLSQLStruts Hibernate UML Ajax SOAwww.interplan.com.br/

PC EmpresárioInclusão Digital para Micros e PequenasEmpresas (Ory Client)www.gemini.com.br