<?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>BRASIL TUTORIAIS - Tudo sobre tutoriais &#187; AJAX</title>
	<atom:link href="http://brasiltutoriais.com.br/category/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://brasiltutoriais.com.br</link>
	<description>Apostilas, CSS, PHP, jogos, JAVA, Wordpress</description>
	<lastBuildDate>Thu, 13 May 2010 19:48:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>AJAX PARA UPLOAD DE ARQUIVOS</title>
		<link>http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/</link>
		<comments>http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 20:36:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://brasiltutoriais.com.br/?p=157</guid>
		<description><![CDATA[
Aqui temos uma solução poderosa e elegante para fazer upload de arquivos dentro dos seus aplicativos web. A grande vantagem deste script é permitir o upload de diversos arquivos ao mesmo tempo com barra de progresso em cada um. Ele é compatível com todos os navegadores atuais.

Veja alguns recursos:

Selecione vários arquivos e envia ao mesmo [...]<p><a href="http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/">AJAX PARA UPLOAD DE ARQUIVOS</a> is a post from: <a href="http://brasiltutoriais.com.br">BRASIL TUTORIAIS - Tudo sobre tutoriais</a></p>



NOTICIAS RELACIONADAS:<ol><li><a href='http://brasiltutoriais.com.br/calendario-ajax-para-campo-de-formulario/' rel='bookmark' title='Permanent Link: CALENDÁRIO AJAX PARA CAMPO DE FORMULÁRIO'>CALENDÁRIO AJAX PARA CAMPO DE FORMULÁRIO</a></li>
<li><a href='http://brasiltutoriais.com.br/tutorial-basico-sobre-ajax/' rel='bookmark' title='Permanent Link: Tutorial básico sobre AJAX'>Tutorial básico sobre AJAX</a></li>
<li><a href='http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/' rel='bookmark' title='Permanent Link: Engatinhando com AJAX e PHP'>Engatinhando com AJAX e PHP</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em;"><script type="text/javascript" src="http://button.topsy.com/widget/retweet-big?url=http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/&amp;title=AJAX+PARA+UPLOAD+DE+ARQUIVOS&amp;theme=blue&amp;txt_tweet=tweet&amp;txt_retweet=retweet"></script></div><p>Aqui temos uma solução poderosa e elegante para fazer upload de arquivos dentro dos seus aplicativos web. A grande vantagem deste script é permitir o upload de diversos arquivos ao mesmo tempo com barra de progresso em cada um. Ele é compatível com todos os navegadores atuais.</p>
<p><span id="more-157"></span></p>
<p>Veja alguns recursos:</p>
<ul>
<li>Selecione vários arquivos e envia ao mesmo tempo.</li>
<li>Filtro de tipos de arquivo</li>
<li>O filtro é aplicado antes mesmo do arquivo ser copiado para o servidor</li>
<li>Pode ser ativado limitações para o upload</li>
<li>Parte da solução utiliza <span style="color: #3888b4;">Flash</span> 8</li>
</ul>
<p>A melhor forma de entender é ver a solução funcionando. Para isto <a href="http://digitarald.de/project/fancyupload/1-0/showcase/photoqueue/" target="_blank"><span style="color: #3888b4;">visite este endereço.</span></a> Clique no botão “Browser Files” e selecione 2 ou mais arquivos que estiverem no seu <span style="color: #3888b4;">computador</span>. Você verá o nome dos arquivos e o tamanho dos mesmos exibidos no campo abaixo. Se você clicar no circulo vermelho que aparece do lado de cada arquivo poderá apagar o mesmo da lista. Se clicar em “Start Upload” inicia o processo de envio dos arquivos. Uma barra de progresso vai indicando a evolução do upload.</p>
<p>O autor do <a href="http://digitarald.de/project/fancyupload/1-0/" target="_blank"><span style="color: #3888b4;">FancyUpload</span></a> fornece o <span style="color: #3888b4;">javascript</span>, <span style="color: #3888b4;">html</span>, <span style="color: #3888b4;">css</span>, flash (swf) e <span style="color: #3888b4;">php</span> necessários para download. Se possuir dificuldade com o inglês veja a <a href="http://translate.google.com/translate?hl=pt-BR&amp;u=http%3A%2F%2Fdigitarald.de%2Fproject%2Ffancyupload%2F1-0%2F" target="_blank"><span style="color: #3888b4;">versão traduzida</span></a>.</p>
<p><a href="http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/">AJAX PARA UPLOAD DE ARQUIVOS</a> is a post from: <a href="http://brasiltutoriais.com.br">BRASIL TUTORIAIS - Tudo sobre tutoriais</a></p>



<p>NOTICIAS RELACIONADAS:<ol><li><a href='http://brasiltutoriais.com.br/calendario-ajax-para-campo-de-formulario/' rel='bookmark' title='Permanent Link: CALENDÁRIO AJAX PARA CAMPO DE FORMULÁRIO'>CALENDÁRIO AJAX PARA CAMPO DE FORMULÁRIO</a></li>
<li><a href='http://brasiltutoriais.com.br/tutorial-basico-sobre-ajax/' rel='bookmark' title='Permanent Link: Tutorial básico sobre AJAX'>Tutorial básico sobre AJAX</a></li>
<li><a href='http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/' rel='bookmark' title='Permanent Link: Engatinhando com AJAX e PHP'>Engatinhando com AJAX e PHP</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 ANIMAÇÕES USANDO JQUERY</title>
		<link>http://brasiltutoriais.com.br/10-animacoes-usando-jquery/</link>
		<comments>http://brasiltutoriais.com.br/10-animacoes-usando-jquery/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 20:33:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://brasiltutoriais.com.br/?p=154</guid>
		<description><![CDATA[
O site webdesignerwall [traduzido] publicou um ótimo artigo com 10 animações utilizando o javascript jquery. O artigo é destinado a webdesigners iniciantes e para visualizar cada animação basta procurar o link “demo” em cada tutorial. Uma das animações mais interessantes é que exibe uma janela na parte superior do site quando um botão é clicado. [...]<p><a href="http://brasiltutoriais.com.br/10-animacoes-usando-jquery/">10 ANIMAÇÕES USANDO JQUERY</a> is a post from: <a href="http://brasiltutoriais.com.br">BRASIL TUTORIAIS - Tudo sobre tutoriais</a></p>



NOTICIAS RELACIONADAS:<ol><li><a href='http://brasiltutoriais.com.br/aprenda-a-fazer-lightbox-com-jquery/' rel='bookmark' title='Permanent Link: Aprenda a fazer lightBox com Jquery'>Aprenda a fazer lightBox com Jquery</a></li>
<li><a href='http://brasiltutoriais.com.br/png%e2%80%99s-transparentes-no-internet-explorer-com-jquery-ie-pngfix/' rel='bookmark' title='Permanent Link: PNG’s transparentes no Internet Explorer com jQuery (IE PNGFix)'>PNG’s transparentes no Internet Explorer com jQuery (IE PNGFix)</a></li>
<li><a href='http://brasiltutoriais.com.br/sistema-de-avaliacao-de-posts-com-jquery/' rel='bookmark' title='Permanent Link: Sistema de Avaliação de posts com Jquery'>Sistema de Avaliação de posts com Jquery</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em;"><script type="text/javascript" src="http://button.topsy.com/widget/retweet-big?url=http://brasiltutoriais.com.br/10-animacoes-usando-jquery/&amp;title=10+ANIMA%C3%87%C3%95ES+USANDO+JQUERY&amp;theme=blue&amp;txt_tweet=tweet&amp;txt_retweet=retweet"></script></div><p>O site <a href="http://www.webdesignerwall.com/tutorials/jquery-tutorials-for-designers/" target="_blank"><span style="color: #3888b4;">webdesignerwall</span></a> [<a href="http://translate.google.com/translate?hl=pt-BR&amp;u=http%3A%2F%2Fwww.webdesignerwall.com%2Ftutorials%2Fjquery-tutorials-for-designers%2F" target="_blank"><span style="color: #3888b4;">traduzido</span></a>] publicou um ótimo artigo com 10 animações utilizando o <span style="color: #3888b4;">javascript</span> <a href="http://www.jquery.com/" target="_blank"><span style="color: #3888b4;">jquery</span></a>. O artigo é destinado a webdesigners iniciantes e para visualizar cada animação basta procurar o link “demo” em cada tutorial. Uma das animações mais interessantes é que exibe uma janela na parte superior do site quando um botão é clicado. <a href="http://www.webdesignerwall.com/demo/jquery/simple-slide-panel.html" target="_blank"><span style="color: #3888b4;">Veja o demo</span></a>. Para testar todas as<a href="http://www.webdesignerwall.com/demo/jquery/" target="_blank"><span style="color: #3888b4;"> animações visite</span></a>. Todos os demos podem ser <a href="http://www.webdesignerwall.com/file/jquery-tutorials.zip" target="_blank"><span style="color: #3888b4;">copiados aqui</span></a>.</p>
<p><a href="http://brasiltutoriais.com.br/10-animacoes-usando-jquery/">10 ANIMAÇÕES USANDO JQUERY</a> is a post from: <a href="http://brasiltutoriais.com.br">BRASIL TUTORIAIS - Tudo sobre tutoriais</a></p>



<p>NOTICIAS RELACIONADAS:<ol><li><a href='http://brasiltutoriais.com.br/aprenda-a-fazer-lightbox-com-jquery/' rel='bookmark' title='Permanent Link: Aprenda a fazer lightBox com Jquery'>Aprenda a fazer lightBox com Jquery</a></li>
<li><a href='http://brasiltutoriais.com.br/png%e2%80%99s-transparentes-no-internet-explorer-com-jquery-ie-pngfix/' rel='bookmark' title='Permanent Link: PNG’s transparentes no Internet Explorer com jQuery (IE PNGFix)'>PNG’s transparentes no Internet Explorer com jQuery (IE PNGFix)</a></li>
<li><a href='http://brasiltutoriais.com.br/sistema-de-avaliacao-de-posts-com-jquery/' rel='bookmark' title='Permanent Link: Sistema de Avaliação de posts com Jquery'>Sistema de Avaliação de posts com Jquery</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://brasiltutoriais.com.br/10-animacoes-usando-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CALENDÁRIO AJAX PARA CAMPO DE FORMULÁRIO</title>
		<link>http://brasiltutoriais.com.br/calendario-ajax-para-campo-de-formulario/</link>
		<comments>http://brasiltutoriais.com.br/calendario-ajax-para-campo-de-formulario/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 20:30:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://brasiltutoriais.com.br/?p=150</guid>
		<description><![CDATA[
Uma forma fácil de padronizar o preenchimento de campos de formulário destinados a data é o uso de um mini calendário para que o visitante do site possa selecionar a data no lugar de digitar a data.

Isto é muito útil quando o visitante precisa saber qual é o dia da semana da data que será [...]<p><a href="http://brasiltutoriais.com.br/calendario-ajax-para-campo-de-formulario/">CALENDÁRIO AJAX PARA CAMPO DE FORMULÁRIO</a> is a post from: <a href="http://brasiltutoriais.com.br">BRASIL TUTORIAIS - Tudo sobre tutoriais</a></p>



NOTICIAS RELACIONADAS:<ol><li><a href='http://brasiltutoriais.com.br/criar-formulario-de-e-mail-para-seu-site/' rel='bookmark' title='Permanent Link: criar formulário de e-mail para seu site'>criar formulário de e-mail para seu site</a></li>
<li><a href='http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/' rel='bookmark' title='Permanent Link: AJAX PARA UPLOAD DE ARQUIVOS'>AJAX PARA UPLOAD DE ARQUIVOS</a></li>
<li><a href='http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/' rel='bookmark' title='Permanent Link: Engatinhando com AJAX e PHP'>Engatinhando com AJAX e PHP</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em;"><script type="text/javascript" src="http://button.topsy.com/widget/retweet-big?url=http://brasiltutoriais.com.br/calendario-ajax-para-campo-de-formulario/&amp;title=CALEND%C3%81RIO+AJAX+PARA+CAMPO+DE+FORMUL%C3%81RIO&amp;theme=blue&amp;txt_tweet=tweet&amp;txt_retweet=retweet"></script></div><p>Uma forma fácil de padronizar o preenchimento de campos de formulário destinados a data é o uso de um mini calendário para que o visitante do site possa selecionar a data no lugar de digitar a data.</p>
<p><span id="more-150"></span></p>
<p>Isto é muito útil quando o visitante precisa saber qual é o dia da semana da data que será escolhida. Em sites onde a data de um evento é fundamental este tipo de recurso é muito importante para facilitar a vida do visitante e evitar o preenchimento incorreto. Exemplo: sites de hotéis, empresas de transporte, locadoras, empresa de eventos, etc.</p>
<p>Você encontrará uma boa solução no site <a href="http://dev.base86.com/scripts/vista-like_ajax_calendar_version_2.html" target="_blank"><span style="color: #3888b4;">dev.base86.com</span></a>. Veja diversos “<a href="http://dev.base86.com/scripts/vista-like_ajax_calendar_version_2.html#examples" target="_blank"><span style="color: #3888b4;">demos</span></a>“. Clicando em “show code” nestes demos você pode visualizar o código que deve aplicar. Não esqueça de carregar os arquivos javascripts no &lt;head&gt; da página. Veja como <a href="http://dev.base86.com/scripts/vista-like_ajax_calendar_version_2.html#usage" target="_blank"><span style="color: #3888b4;">aqui</span></a></p>
<p><a href="http://brasiltutoriais.com.br/calendario-ajax-para-campo-de-formulario/">CALENDÁRIO AJAX PARA CAMPO DE FORMULÁRIO</a> is a post from: <a href="http://brasiltutoriais.com.br">BRASIL TUTORIAIS - Tudo sobre tutoriais</a></p>



<p>NOTICIAS RELACIONADAS:<ol><li><a href='http://brasiltutoriais.com.br/criar-formulario-de-e-mail-para-seu-site/' rel='bookmark' title='Permanent Link: criar formulário de e-mail para seu site'>criar formulário de e-mail para seu site</a></li>
<li><a href='http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/' rel='bookmark' title='Permanent Link: AJAX PARA UPLOAD DE ARQUIVOS'>AJAX PARA UPLOAD DE ARQUIVOS</a></li>
<li><a href='http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/' rel='bookmark' title='Permanent Link: Engatinhando com AJAX e PHP'>Engatinhando com AJAX e PHP</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://brasiltutoriais.com.br/calendario-ajax-para-campo-de-formulario/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Engatinhando com AJAX e PHP</title>
		<link>http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/</link>
		<comments>http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 00:31:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://brasiltutoriais.com.br/?p=64</guid>
		<description><![CDATA[
Como esse tutorial é bem básico, para quem está começando com AJAX, eu vou esplicar explicar coisas bem básicas. Desde como funciona o protocolo HTTP e um exemplo de AJAX.

Para que você possa usufruir ao máximo do tutorial, você necessita de conhecimentos de HTML, JavaScript e PHP.
Vamos ver aqui então: Como funciona um HTTP request, [...]<p><a href="http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/">Engatinhando com AJAX e PHP</a> is a post from: <a href="http://brasiltutoriais.com.br">BRASIL TUTORIAIS - Tudo sobre tutoriais</a></p>



NOTICIAS RELACIONADAS:<ol><li><a href='http://brasiltutoriais.com.br/tutorial-basico-sobre-ajax/' rel='bookmark' title='Permanent Link: Tutorial básico sobre AJAX'>Tutorial básico sobre AJAX</a></li>
<li><a href='http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/' rel='bookmark' title='Permanent Link: AJAX PARA UPLOAD DE ARQUIVOS'>AJAX PARA UPLOAD DE ARQUIVOS</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em;"><script type="text/javascript" src="http://button.topsy.com/widget/retweet-big?url=http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/&amp;title=Engatinhando+com+AJAX+e+PHP&amp;theme=blue&amp;txt_tweet=tweet&amp;txt_retweet=retweet"></script></div><p>Como esse tutorial é bem básico, para quem está começando com AJAX, eu vou <span style="text-decoration: line-through;">esplicar </span>explicar coisas bem básicas. Desde como funciona o protocolo HTTP e um exemplo de AJAX.</p>
<p><span id="more-64"></span></p>
<p>Para que você possa usufruir ao máximo do tutorial, você necessita de conhecimentos de HTML, JavaScript e PHP.</p>
<p>Vamos ver aqui então: Como funciona um <em>HTTP request</em>, um <em>HTTP response</em>, técnicas utilizadas e como comunicar o cliente com o servidor.</p>
<blockquote><p><strong>HTTP Resquests</strong></p></blockquote>
<p>O formato de um HTTP request é assim:<br />
<code>&lt;requeste-line&gt;<br />
&lt;headers&gt;<br />
&lt;blank line&gt;<br />
[&lt;request-body&gt;]</code></p>
<p>A primeira linha(<em>&lt;requeste-line&gt;</em>) necessita da indicação do tipo do <em>request</em>, diretório de acesso eda versão do HTTP. Já no <em>&lt;headers&gt;</em> indica informações adicionais para o server. Depois a &lt;blank line&gt;, é seguida do &lt;request-body&gt; que é opcional.</p>
<p>Não vou ficar explicando muito aqui, pois não é o foco do nosso tutorial. Agora vou mostrar um exemplo prático de como o browser envia o HTTP request:<br />
<code>GET /?cod=1 HTTP/1.1<br />
Host: www.felipetonello.com<br />
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20060601 Firefox/2.0 (Ubuntu-edgy)<br />
Connection: Keep-Alive</code></p>
<p>Explicando resumidamente: Na primeira linha vimos que usamos o tipo <em>GET</em> seguido da <em>/</em> quer dizer que irá acessar ao diretório root do server com o parametro cod=1 e em seguida da versão do HTTP. Depois os cabeçalhos que são auto-explicativo.<br />
Quem usa PHP a um tempo conhece bem esses <a onclick="pageTracker._trackPageview('/outbound/article/br.php.net');" href="http://br.php.net/header"><strong><span style="color: #338de2;">headers</span></strong></a>.</p>
<p>Então vimos como o browser se comunica com os servidores por meio do HTTP(Hypertext Transfer Protocol).</p>
<blockquote><p><strong>HTTP Responses</strong></p></blockquote>
<p>Agora vamos ver como o servidor responde, quando recebe um request, por meio do HTTP.<br />
<code>&lt;status-line&gt;<br />
&lt;headers&gt;<br />
&lt;blank line&gt;<br />
[&lt;response-body&gt;]</code></p>
<p>O formato é bem parecido, apenas muda a primeira e ultima linha. Na primeira linha ele retorna a versão do HTTP e o status da resposta. Já na ultima ele retorna o corpo da resposta. Exemplo:<br />
<code>HTTP/1.1 200 OK<br />
Date: Sat, 11 Nov 2006 23:59:59 GMT<br />
Content-Type: text/html;charset=UTF-8<br />
Content-Length: 122</code><br />
<code><br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Felipe Tonello&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;!-- Aqui vem o corpo --&gt;<br />
&lt;/body&gt;<br />
&lt;/hmtl&gt;</code></p>
<p>Na primeira linha temos a versão do HTTP em seguida do status(200). Os cabeçalhos e depois a resposta que no caso foi como um text/html.<br />
Os status mais comuns são:</p>
<ul>
<li><strong>200 (OK)</strong>: arquivo encontrado com sucesso.</li>
<li><strong>304 (NOT MODIFIED)</strong>: O arquivo não foi modificado desde o ultimo request. Isso é mais utilizado em browsers com mecanismos de cache.</li>
<li><strong>401 (UNAUTHORIZED)</strong>: Cliente não tem autorização para acessar o arquivo. Normalmente isso irá fazer com que o browser pergunte por <a style="cursor: hand; color: #006600; border-bottom: 1px dotted; text-decoration: underline;" onclick="hwClick12413904740327(2125353786);return false;" onmouseover="hw12413904740327(event, this, '2125353786'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='solid';" onmouseout="hideMaybe(event, this); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='dotted 1px'; " href="http://www.netportais.com.br/site/2008/12/engatinhando-com-ajax-e-php-parte/#">usuário</a> e senha para logar no servidor.</li>
<li><strong>403 (FORBIDDEN)</strong>: O Cliente falhou na autorização. Normalmente acontece quando você falha na autorização depois de um erro 401.</li>
<li><strong>404 (NOT FOUND)</strong>: Quando o arquivo não existe na localização informada.</li>
</ul>
<p>Nesse tutorial vocês entenderam como funciona o protocolo HTTP para se comunidar entre servidor e cliente.<br />
Para não ficar muito grande vou separar em 2 partes. Na proxima parte vamos ver um exemplo de comunicação cliente-servidor usando AJAX.</p>
<p><a href="http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/">Engatinhando com AJAX e PHP</a> is a post from: <a href="http://brasiltutoriais.com.br">BRASIL TUTORIAIS - Tudo sobre tutoriais</a></p>



<p>NOTICIAS RELACIONADAS:<ol><li><a href='http://brasiltutoriais.com.br/tutorial-basico-sobre-ajax/' rel='bookmark' title='Permanent Link: Tutorial básico sobre AJAX'>Tutorial básico sobre AJAX</a></li>
<li><a href='http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/' rel='bookmark' title='Permanent Link: AJAX PARA UPLOAD DE ARQUIVOS'>AJAX PARA UPLOAD DE ARQUIVOS</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutorial básico sobre AJAX</title>
		<link>http://brasiltutoriais.com.br/tutorial-basico-sobre-ajax/</link>
		<comments>http://brasiltutoriais.com.br/tutorial-basico-sobre-ajax/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 20:48:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AJAX]]></category>

		<guid isPermaLink="false">http://brasiltutoriais.com.br/?p=42</guid>
		<description><![CDATA[
O que é AJAX? (Asynchronous Javascript and XML, mais conhecido como 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 [...]<p><a href="http://brasiltutoriais.com.br/tutorial-basico-sobre-ajax/">Tutorial básico sobre AJAX</a> is a post from: <a href="http://brasiltutoriais.com.br">BRASIL TUTORIAIS - Tudo sobre tutoriais</a></p>



NOTICIAS RELACIONADAS:<ol><li><a href='http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/' rel='bookmark' title='Permanent Link: Engatinhando com AJAX e PHP'>Engatinhando com AJAX e PHP</a></li>
<li><a href='http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/' rel='bookmark' title='Permanent Link: AJAX PARA UPLOAD DE ARQUIVOS'>AJAX PARA UPLOAD DE ARQUIVOS</a></li>
<li><a href='http://brasiltutoriais.com.br/texto-se-movendo-na-barra-de-status/' rel='bookmark' title='Permanent Link: Texto se movendo na barra de status'>Texto se movendo na barra de status</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em;"><script type="text/javascript" src="http://button.topsy.com/widget/retweet-big?url=http://brasiltutoriais.com.br/tutorial-basico-sobre-ajax/&amp;title=Tutorial+b%C3%A1sico+sobre+AJAX&amp;theme=blue&amp;txt_tweet=tweet&amp;txt_retweet=retweet"></script></div><p>O que é AJAX? (Asynchronous Javascript and XML, mais conhecido como 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.</p>
<p><span id="more-42"></span></p>
<div id="HOTWordsTxt">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 HTMLs.</div>
<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>Mas e afinal, para que usamos o AJAX?</p>
<p>Hoje esta <a style="cursor: hand; color: #006600; border-bottom: 1px dotted; text-decoration: underline;" onclick="hwClick3919263521619(-1878118830);return false;" onmouseover="hw3919263521619(event, this, '-1878118830'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='solid';" onmouseout="hideMaybe(event, this); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='dotted 1px'; " href="http://www.netportais.com.br/site/2009/01/tutorial-basico-sobre-ajax/#">tecnologia</a> é 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.</p>
<p>Um exemplo básico da utilização de AJAX, é um refresh de página, sem que o <a style="cursor: hand; color: #006600; border-bottom: 1px dotted; text-decoration: underline;" onclick="hwClick12266782230619(-1878118830);return false;" onmouseover="hw12266782230619(event, this, '-1878118830'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='solid';" onmouseout="hideMaybe(event, this); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='dotted 1px'; " href="http://www.netportais.com.br/site/2009/01/tutorial-basico-sobre-ajax/#">usuário</a> 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>Como utilizar?</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>Vejamos um exemplo básico:</p>
<p>//variavel ajax<br />
var ajax = null;</p>
<p>//função que faz a requisição ajax<br />
function requisicaoAjax(){<br />
    //utilizado para requisições no browser Internet Explorer<br />
    if (window.ActiveXObject) ajax = new ActiveXObject(’Microsoft.XMLHTTP’);<br />
    //utilizado como o padrão javascript para requisições AJAX.<br />
    else if (window.XMLHttpRequest) ajax = new XMLHttpRequest();<br />
    //se a variável ajax for nula, logo o browser não suporta tal tecnologia<br />
    if(ajax != null){<br />
      //abre a requisição ajax, passando o método de acesso, a url<br />
 solicitada e o parâmetro sobre sincronia<br />
      ajax.open(’GET’,&#8217;http://gujs.com.br/’,false);<br />
      //seta a funcao que sera chamada quando o ajax for retornado<br />
      ajax.onreadystatechange = statusAjax;<br />
      //inicia o tranporte<br />
      ajax.send(null);<br />
    }<br />
}</p>
<p>//função que trata o retorno ajax<br />
function statusAjax(){<br />
  //caso o status do ajax esteja ok, então chama a função retornoAjax<br />
 enviando o retorno da requisição como parâmetro<br />
  if(ajax.readyState == 4 &amp;&amp; ajax.status == 200){<br />
    retornoAjax(ajax.responseText);<br />
  }<br />
}</p>
<p>//função que é chamada quando o ajax for retornado<br />
function retornoAjax(response){<br />
  //dá um alerta no texto de retorno<br />
  alert(response);<br />
}<br />
requisicaoAjax();<br />
Sendo que:</p>
<p>Criamos um objeto para o transporte do AJAX;<br />
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.<br />
Indicamos qual será a função que irá 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:</p>
<p><a onclick="pageTracker._trackPageview('/outbound/article/www.w3.org');" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"><span style="color: #f29926;">http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html</span></a></p>
<p>Quando dizemos:</p>
<p>ajax.onreadystatechange = statusAjax;<br />
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.</p>
<p>Por exemplo: Sendo que minha página exemplo_ajax.htm estivesse dentro de <a href="http://www.gujs.com.br/"><span style="color: #f29926;">http://www.gujs.com.br</span></a>, só poderei fazer requisições AJAX para <a style="cursor: hand; color: #006600; border-bottom: 1px dotted; text-decoration: underline;" onclick="hwClick11970866052619(-1878118830);return false;" onmouseover="hw11970866052619(event, this, '-1878118830'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='solid';" onmouseout="hideMaybe(event, this); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='dotted 1px'; " href="http://www.netportais.com.br/site/2009/01/tutorial-basico-sobre-ajax/#">arquivos</a> que fiquem dentro de <a href="http://www.gujs.com.br/"><span style="color: #f29926;">http://www.gujs.com.br</span></a>.</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><a href="http://brasiltutoriais.com.br/tutorial-basico-sobre-ajax/">Tutorial básico sobre AJAX</a> is a post from: <a href="http://brasiltutoriais.com.br">BRASIL TUTORIAIS - Tudo sobre tutoriais</a></p>



<p>NOTICIAS RELACIONADAS:<ol><li><a href='http://brasiltutoriais.com.br/engatinhando-com-ajax-e-php/' rel='bookmark' title='Permanent Link: Engatinhando com AJAX e PHP'>Engatinhando com AJAX e PHP</a></li>
<li><a href='http://brasiltutoriais.com.br/ajax-para-upload-de-arquivos/' rel='bookmark' title='Permanent Link: AJAX PARA UPLOAD DE ARQUIVOS'>AJAX PARA UPLOAD DE ARQUIVOS</a></li>
<li><a href='http://brasiltutoriais.com.br/texto-se-movendo-na-barra-de-status/' rel='bookmark' title='Permanent Link: Texto se movendo na barra de status'>Texto se movendo na barra de status</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://brasiltutoriais.com.br/tutorial-basico-sobre-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
