<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GUJS - Grupo de Usuários Javascript &#187; Diversos</title>
	<atom:link href="http://gujs.com.br/blog/categoria/diversos/feed/" rel="self" type="application/rss+xml" />
	<link>http://gujs.com.br/blog</link>
	<description>O Maior Site Javascript do Brasil</description>
	<lastBuildDate>Tue, 27 Oct 2009 14:12:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tutorial básico sobre Ajax</title>
		<link>http://gujs.com.br/blog/2007/03/tutorial-basico-sobre-ajax/</link>
		<comments>http://gujs.com.br/blog/2007/03/tutorial-basico-sobre-ajax/#comments</comments>
		<pubDate>Tue, 27 Mar 2007 11:34:51 +0000</pubDate>
		<dc:creator>Eduardo Bohrer</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Cross-browser]]></category>
		<category><![CDATA[Diversos]]></category>
		<category><![CDATA[Tutoriais Básicos]]></category>

		<guid isPermaLink="false">http://gujs.com.br/blog/2007/03/tutorial-basico-sobre-ajax/</guid>
		<description><![CDATA[Asynchronous Javascript and XML, mais conhecido como AJAX.
O que é Ajax?
Ajax foi criado com o principio de ser uma maneira rápida e otimizada de podermos fazer requisições WEB, sendo esta totalmente transparente ao usuário.
Sabemos que todo o tipo de acesso a dados de um servidor de sites na internet, roda encima de requisições WEB(Requisições via [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Asynchronous Javascript and XML</strong>, mais conhecido como <strong>AJAX</strong>.</em></p>
<p><strong>O que é Ajax?</strong><br />
Ajax foi criado com o principio de ser uma maneira rápida e otimizada de podermos fazer requisições WEB, sendo esta totalmente transparente ao usuário.<span id="more-9"></span></p>
<p>Sabemos que todo o tipo de acesso a dados de um servidor de sites na internet, roda encima de requisições WEB(Requisições via Protocolo HTTP ao servidor de destino), e por resposta o servidor também com o mesmo protocolo retorna os dados solicitados, tais como HTML&#8217;s.</p>
<p>Este processo normalmente não é notado na visão do usuário, mas é isso que acontece quando digitamos em nosso navegador de internet um endereço da WEB.O ajax por sua vez também roda encima desta lógica.</p>
<p><strong>Mas e afinal, para que usamos o Ajax?</strong></p>
<p>Hoje esta tecnologia é utilizada para uma infinidade de processos, mas o que precisamos saber não é o que fazer com ele, mas sim saber como ele trabalha para podermos adequar tal tecnologia em nosso dia-a-dia.<br />
Um Exemplo Básico da utilização de ajax, é um refresh de página, sem que o usuário necessite faze-lo.</p>
<p>O programador que cria a página, programa uma requisição ajax, para que busque novos dados no servidor em um limite de tempo, e então também por javascript, altera a visualização do usuário, talvez inserindo linhas em uma tabela ou algo do gênero, assim dando um aspecto de atualização automática.</p>
<p><strong>Como Utilizar?</strong></p>
<p>Hoje, o ajax é suportado pelos principais browsers disponíveis no mercado, e utilizados pela comunidade WEB.</p>
<p>Para isso utilizados objetos javascript, que rodam encima do browser do usuário e transitam dados por estas requisições.</p>
<p>Assim sendo, podemos fazer interações com processos de servidor, sem que seja necessário por exemplo recarregar a página do usuário, ou mesmo se quer visualize tal iteração.</p>
<p><em>Vejamos um exemplo básico.</em></p>
<pre class="prettyprint">
//variavel ajax
var ajax = null;

//função que faz a requisição ajax
function requisicaoAjax(){
    //utilizado para requisições no browser Internet Explorer
    if (window.ActiveXObject) ajax = new ActiveXObject('Microsoft.XMLHTTP');
    //utilizado como o padrão javascript para requisições AJAX.
    else if (window.XMLHttpRequest) ajax = new XMLHttpRequest();
    //se a variável ajax for nula, logo o browser não suporta tal tecnologia
    if(ajax != null){
      //abre a requisição ajax, passando o método de acesso, a url solicitada e o parâmetro sobre sincronia
      ajax.open('GET','http://gujs.com.br/',false);
      //seta a funcao que sera chamada quando o ajax for retornado
      ajax.onreadystatechange = statusAjax;
      //inicia o tranporte
      ajax.send(null);
    }
}

//função que trata o retorno ajax
function statusAjax(){
  //caso o status do ajax esteja ok, então chama a função retornoAjax enviando o retorno da requisição como parâmetro
  if(ajax.readyState == 4 &amp;&amp; ajax.status == 200){
    retornoAjax(ajax.responseText);
  }
}

//função que é chamada quando o ajax for retornado
function retornoAjax(response){
  //dá um alerta no texto de retorno
  alert(response);
}
requisicaoAjax();</pre>
<p>1º) Criamos um objeto para o transporte do ajax;</p>
<p>2º) Setamos ao objeto as diretivas da solicitação como a url a ser solicitado e o método. O terceiro parâmetro é se deve ser assíncrono ou não, no caso estamos passando false, para o javascript aguardar o retorno da requisição.</p>
<p>3º) Indicamos qual será a função que ira fazer o tratamento de estados da requisição. (O status da requisição é retornado pelo browser para tratamento a cada vez que este status muda).<br />
Você pode ver a listagem completa de status aqui: <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html</a></p>
<p>Quando dizemos</p>
<pre class="prettyprint">
ajax.onreadystatechange = statusAjax;</pre>
<p>Estamos indicando que toda a vez que este ajax mudar de status, ele deve chamar esta função.</p>
<p>No nosso caso, o único status interessante é o status de requisição ok.</p>
<p>Se a requisição retornar um status ok, então a partir daí trabalharemos em nosso refresh, como dito acima, onde trataríamos os dados retornados e aplicaríamos na visualização do usuário;</p>
<p>Uma coisa que devemos considerar e que por sua vez é de grande importância, é que não podemos fazer requisições Ajax a outro domínio diferente ao que o site atual roda.<br />
Por exemplo:<br />
Sendo que minha página exemplo_ajax.htm estivesse dentro de http://www.gujs.com.br/, só poderei fazer requisições ajax para arquivos que fiquem dentro de http://www.gujs.com.br/.</p>
<p>Este exemplo é bem simples, mas apenas para podermos ter uma noção de como funciona uma requisição ajax.</p>
<p>Existem hoje, várias bibliotecas javascript para formalizar tais requisições, bibliotecas que fazem o controle de estados inválidos da requisição, ou mesmo que facilitam o transporte de requisições via método POST.</p>
<p>O intuito deste artigo é simplesmente desmistificar este fênomeno chamado ajax.</p>
<p>Fique a vontade para deixarem comentários, ou entrar em contato ok?</p>
<p>Até a próxima pessoal;</p>
]]></content:encoded>
			<wfw:commentRss>http://gujs.com.br/blog/2007/03/tutorial-basico-sobre-ajax/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.254 seconds -->
<!-- Cached page served by WP-Cache -->
