<?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>Artigos sobre jQuery, XHTML, CSS e PHP &#124; Julio Bitencourt &#187; progressive enhancement</title>
	<atom:link href="http://www.juliobitencourt.com/tag/progressive-enhancement/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.juliobitencourt.com</link>
	<description>Artigos e tutoriais sobre desenvolvimento web, jQuery, HTML, PHP, CSS e outras tecnologias.</description>
	<lastBuildDate>Sat, 17 Jul 2010 18:18:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Saiba se uma requisição foi feita via AJAX no PHP</title>
		<link>http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/</link>
		<comments>http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 02:26:05 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[progressive enhancement]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=203</guid>
		<description><![CDATA[Você já ouviu falar em Progressive Enhancement? Não?
Basicamente, esta técnica consiste em dar aos usuários o acesso básico ao conteúdo. Com ênfase na acessibilidade.
A técnica ajax hoje é largamente utilizada. Por proporcionar uma ótima experiência de uso e aumentar a velocidade de páginas e aplicações web.
Mas ajax utiliza javascript, mais precisamente o XMLHttpRequest para acessar [...]]]></description>
			<content:encoded><![CDATA[<p>Você já ouviu falar em <a title="Definição de Progressive Enhancement na Wikipedia" href="http://en.wikipedia.org/wiki/Progressive_enhancement" target="_blank">Progressive Enhancement</a>? Não?</p>
<p>Basicamente, esta técnica consiste em dar aos usuários o acesso básico ao conteúdo. Com ênfase na acessibilidade.<span id="more-203"></span></p>
<p>A técnica <a class="bbli" href="http://sledge.boo-box.com/list/page/YWpheF8jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-48">ajax<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> hoje é largamente utilizada. Por proporcionar uma ótima experiência de uso e aumentar a velocidade de páginas e aplicações web.</p>
<p>Mas ajax utiliza <a class="bbli" href="http://sledge.boo-box.com/list/page/amF2YXNjcmlwdF8jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-56">javascript<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>, mais precisamente o XMLHttpRequest para acessar conteúdo de forma assíncrona. Com ajax você pode, por exemplo, criar um formulário de cadastro que não dá refresh na página no ato do submit. Ótimo né? Também acho!</p>
<p>Mas e se o usuário estiver navegando com o javascript desabilitado? Ele não vai poder se cadastrar no seu site?</p>
<p>Para os programadores <a class="bbli" href="http://sledge.boo-box.com/list/page/UEhQXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-44">PHP<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>, existe uma técnica para que definir se a requisição foi feita via ajax ou não. Desta forma, você pode dar aos usuários que estão utilizando javascript toda experiência de uso proporcionada pelo ajax. Sem deixar de lado os usuários que não contam com esta possibilidade.</p>
<p>Basta utilizar a variável HTTP chamada HTTP_X_REQUESTED_WITH.</p>
<p>Exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_REQUESTED_WITH'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_REQUESTED_WITH'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'xmlhttprequest'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #339933;">...</span> É uma requisição AJAX <span style="color: #339933;">...</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #339933;">...</span> Não é uma requisição AJAX <span style="color: #339933;">...</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Este artigo foi baseado no original, em inglês, <a href="http://www.electrictoolbox.com/how-to-tell-ajax-request-php/">http://www.electrictoolbox.com/how-to-tell-ajax-request-php/</a><br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/' title='10 dicas para escrever um bom código jQuery'>10 dicas para escrever um bom código jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/' title='Método data() da jQuery'>Método data() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/' title='Função live() da jQuery'>Função live() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/' title='Função closest() da jQuery'>Função closest() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/gerar-download-de-conteud-no-php/' title='Gerar download de conteúdo no PHP'>Gerar download de conteúdo no PHP</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "acessibilidade";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
