<?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>emmgfx &#187; AJAX</title>
	<atom:link href="http://www.emm-gfx.net/etiqueta/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.emm-gfx.net</link>
	<description>Y ahora sin más; construye y destruye.</description>
	<lastBuildDate>Sun, 22 Jan 2012 11:24:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Aprender jQuery, 1: Qué és y por qué usarlo.</title>
		<link>http://www.emm-gfx.net/2009/09/aprender-jquery-1-que-es-y-por-que-usarlo/</link>
		<comments>http://www.emm-gfx.net/2009/09/aprender-jquery-1-que-es-y-por-que-usarlo/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 23:48:52 +0000</pubDate>
		<dc:creator>Josep Viciana</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Aprender jQuery]]></category>

		<guid isPermaLink="false">http://www.emm-gfx.net/?p=311</guid>
		<description><![CDATA[Qué és jQuery es una librería de JavaScript, rápida y concisa que simplifica el tratamiento de documentos HTML, el control de eventos, animaciones, e interacciones AJAX para un desarrollo web rápido. jQuery está diseñado para cambiar la manera en que se escribe JavaScript. Así (pero en inglés traducido por mi, espero que bien) es como [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Qué és</strong></p>
<blockquote><p>jQuery es una librería de JavaScript, rápida y concisa que simplifica el tratamiento de documentos HTML, el control de eventos, animaciones, e interacciones AJAX para un desarrollo web rápido. <strong>jQuery está diseñado para cambiar la manera en que se escribe JavaScript</strong>.</p></blockquote>
<p><img style="float: left; margin: 0px 5px 3px 0px;" title="jquery-logo" src="http://www.emm-gfx.net/wp-content/uploads/2009/09/jquery-logo.png" alt="jquery-logo" />Así (pero en inglés traducido por mi, espero que bien) es como se describe jQuery en la portada de su <a href="http://jquery.com/">página oficial</a>.</p>
<p>Aunque haya quien diga que no, yo creo que jQuery es una de las herramientas (por llamarlo de alguna manera) mejor documentadas que hay. Con un mínimo de interés y un poco de imaginación se puede entender rápidamente para qué sirve e imaginar en qué se podría aplicar. Eso sin contar la gran cantidad de recursos y ejemplos que existen, incluso en la misma documentación oficial de la librería. Así que en realidad, ni siquiera hace falta imaginación para entenderlo.</p>
<p><strong>Por qué usarlo</strong></p>
<p>Después de usar jQuery, pensar en dejar de utilizarlo y tener que escribir JavaScript sin algún framework (ya sea jQuery, <a href="http://mootools.net/">mootools</a> o cualquier otro) me parece una locura. En sério, sólo de pensar en verme obligado a usar <a href="http://es.wikipedia.org/wiki/XMLHttpRequest">XMLHttpRequest</a> para los temas de AJAX y no poder recurrir a jQuery empiezo a idear excusas para evitarlo.</p>
<p>Y sii no te fias, puedes tener la certeza de que es una librería de calidad, y para demostrarlo en su portada nos recuerdan que Google, Dell, Digg, Technorati, Mozilla, WordPress, Drupal y una infinidad más de sitios utilizan su framework.</p>
<p>Por ejemplo, para hacer una carga de página externa con ajax, usando jQuery sería algo así:</p>
<pre lang="JavaScript" line="1">$("#idcapa").load('url/relativa/fichero.php');
</pre>
<p>Y hacer algo parecido con JavaScript llano sería:</p>
<pre lang="JavaScript" line="1">XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08
Code licensed under Creative Commons Attribution-ShareAlike License

http://creativecommons.org/licenses/by-sa/2.0/

*/
function XHConn(){
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone) {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();
    try {
      if (sMethod == "GET"){
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      }else{
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 &amp;&amp; !bComplete){
          bComplete = true;
          fnDone(xmlhttp);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}

var myConn = new XHConn();
if (!myConn) alert("XMLHTTP not available. Try a newer/better browser.");
var include_terminado = function (oXML) { document.getElementById('include').innerHTML = oXML.responseText; };
function include_dinamico (url){
	document.getElementById('include').innerHTML = "<img src="loading_ani2.gif" alt="" />";
	myConn.connect("include.php", "GET", "variable="+url, include_terminado);
}
</pre>
<pre>&lt;a onclick="include_dinamico('hola');" href="#"&gt;Link&lt;/a&gt;</pre>
<p>Además de AJAX, jQuery trabaja con animaciones, DOM, eventos, y permite el uso de plug-ins. Y aunque la sintaxis pueda parecer extraña al principio, es bastante sencilla de entender y cuando se hacen un par de ejercicios en plan &#8220;copiar, pegar y modificar&#8221; se entiende rápidamente como funciona.</p>
<p>Y cuando me apetezca (dentro de un rato, mañana o quizá nunca), explicaré la sintaxis y otras cosas &#8220;importantes&#8221;.</p>
<h2  class="related_post_title">Articulos relacionados</h2><ul class="related_post"><li><a href="http://www.emm-gfx.net/2009/07/detectar-peticion-ajax-con-php/" title="Detectar petición AJAX con PHP">Detectar petición AJAX con PHP</a> (1)</li><li><a href="http://www.emm-gfx.net/2011/07/ucfirst-de-php-en-javascript/" title="ucfirst de PHP en Javascript">ucfirst de PHP en Javascript</a> (0)</li><li><a href="http://www.emm-gfx.net/2010/07/acentos-y-tildes-en-javascript/" title="Tildes en Javascript">Tildes en Javascript</a> (0)</li><li><a href="http://www.emm-gfx.net/2010/03/base64-encode-y-decode-en-javascript/" title="Base64 (encode y decode) en Javascript">Base64 (encode y decode) en Javascript</a> (3)</li><li><a href="http://www.emm-gfx.net/2010/01/str_replace-de-php-en-javascript-2/" title="La función str_replace() de PHP en Javascript">La función str_replace() de PHP en Javascript</a> (1)</li><li><a href="http://www.emm-gfx.net/2009/11/str_replace-de-php-en-javascript/" title="str_replace() de PHP en Javascript">str_replace() de PHP en Javascript</a> (0)</li><li><a href="http://www.emm-gfx.net/2009/07/pngfix-js-para-internet-explorer-7/" title="PNGfix.js para Internet Explorer">PNGfix.js para Internet Explorer</a> (0)</li><li><a href="http://www.emm-gfx.net/2009/01/retrasar-eventos-y-efectos-de-jquery/" title="Retrasar eventos y efectos de jQuery">Retrasar eventos y efectos de jQuery</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.emm-gfx.net/2009/09/aprender-jquery-1-que-es-y-por-que-usarlo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detectar petición AJAX con PHP</title>
		<link>http://www.emm-gfx.net/2009/07/detectar-peticion-ajax-con-php/</link>
		<comments>http://www.emm-gfx.net/2009/07/detectar-peticion-ajax-con-php/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 15:31:18 +0000</pubDate>
		<dc:creator>Josep Viciana</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.emm-gfx.net/?p=185</guid>
		<description><![CDATA[Con PHP se puede saber si una página se carga a través de una petición AJAX, puede ser útil para hacer que un contenido se vea sólo si se esta cargando con AJAX. O todo lo contrario, bloquear el contenido para estas peticiones. Para detectarlo se utiliza la variable de servidor $_SERVER['HTTP_X_REQUESTED_WITH']: if( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) &#038;&#038; [...]]]></description>
			<content:encoded><![CDATA[<p>Con PHP se puede saber si una página se carga a través de una petición AJAX, puede ser útil para hacer que un contenido se vea sólo si se esta cargando con AJAX. O todo lo contrario, bloquear el contenido para estas peticiones.</p>
<p>Para detectarlo se utiliza la variable de servidor <code>$_SERVER['HTTP_X_REQUESTED_WITH']</code>:</p>
<pre lang="PHP" line="1">
if(
   !empty($_SERVER['HTTP_X_REQUESTED_WITH']) &#038;&#038;
   strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'
){
   # Ejecuta si la petición es a través de AJAX.
}else{
   # Ejecuta si la petición NO es a través de AJAX.
}
</pre>
<p>Y poco más que contar.</p>
<h2  class="related_post_title">Articulos relacionados</h2><ul class="related_post"><li><a href="http://www.emm-gfx.net/2011/07/ucfirst-de-php-en-javascript/" title="ucfirst de PHP en Javascript">ucfirst de PHP en Javascript</a> (0)</li><li><a href="http://www.emm-gfx.net/2010/01/str_replace-de-php-en-javascript-2/" title="La función str_replace() de PHP en Javascript">La función str_replace() de PHP en Javascript</a> (1)</li><li><a href="http://www.emm-gfx.net/2009/09/aprender-jquery-1-que-es-y-por-que-usarlo/" title="Aprender jQuery, 1: Qué és y por qué usarlo.">Aprender jQuery, 1: Qué és y por qué usarlo.</a> (0)</li><li><a href="http://www.emm-gfx.net/2011/09/php-ordenar-array-por-el-valor-de-un-campo/" title="PHP: Ordenar array por el valor de un campo">PHP: Ordenar array por el valor de un campo</a> (0)</li><li><a href="http://www.emm-gfx.net/2011/09/comprobar-si-un-directorio-esta-vacio-con-php/" title="Comprobar si un directorio está vacío con PHP">Comprobar si un directorio está vacío con PHP</a> (0)</li><li><a href="http://www.emm-gfx.net/2011/06/comprobar-validez-de-un-dominio-con-php-2/" title="Comprobar validez de un dominio con PHP (2)">Comprobar validez de un dominio con PHP (2)</a> (0)</li><li><a href="http://www.emm-gfx.net/2010/07/acentos-y-tildes-en-javascript/" title="Tildes en Javascript">Tildes en Javascript</a> (0)</li><li><a href="http://www.emm-gfx.net/2010/03/base64-encode-y-decode-en-javascript/" title="Base64 (encode y decode) en Javascript">Base64 (encode y decode) en Javascript</a> (3)</li><li><a href="http://www.emm-gfx.net/2010/03/enviar-el-log-de-errores-de-php-por-email/" title="Enviar el log de errores de PHP por email">Enviar el log de errores de PHP por email</a> (0)</li><li><a href="http://www.emm-gfx.net/2010/02/obtener-la-url-que-se-esta-visitando-con-php/" title="Obtener la URL que se esta visitando con PHP">Obtener la URL que se esta visitando con PHP</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.emm-gfx.net/2009/07/detectar-peticion-ajax-con-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

