Sofa Naranja ahora, con un 125% más de naranja

Publicado
24 August 2005 @ 3pm

Categorías
Código, JavaScript

Mini-tutorial de AJAX

Sofá Naranja, en su empeño por acercar la tecnología al pueblo, presenta un mini-tutorial sobre el palabro de moda: AJAX. Si andabas buscando una excusa para trastear con AJAX, la acabas de encontrar. AJAX es fácil. AJAX es potente. AJAX lava más blanco. AJAX es, en definitiva, una Cosa Guapa™

¿Qué es AJAX?

AJAX son las siglas de Asynchronous JavaScript And XML. Es una colección de tecnologías que permiten desarrollar webs altamente interactivas ahorrando ancho de banda y recargas de página.

La clave para el funcionamiento de AJAX es el objeto XMLHttpRequest (uno de los pocos inventos útiles de Microsoft, mira por dónde)

Actualmente, AJAX funciona en los siguientes navegadores:

  • Mozilla y familia
  • Internet Explorer Windows (a partir de la versión 5)
  • Safari y familia (en teoría, no tengo un Konqueror para probar)

Más información en la Wikipedia

Qué necesitamos para este tutorial

  • Un editor de texto
  • Un servidor web
  • Café (opcional)
  • Unos 30 minutillos

Vamos a construir una página web simple, donde cargaremos datos a partir de otra sin necesidad de recargar la página actual. También veremos como darle al usuario un poco de “feedback” de qué está pasando. Con suerte, también nos tomaremos un café.

Empezamos

La cosa empieza suave. Vamos a crear un fichero HTML (que en un derroche de originalidad llamaremos ‘index.html’) con el siguiente contenido (véase que somos unos pedantes y vamos a usar sintaxis XHTML 1.1 pata negra):

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>Mini-tutorial AJAX</title>
    </head>
    <body>
        <h4>Mini-tutorial AJAX</h4>
        <div id="detalles"></div>
    </body>
</html>

Como vemos, nada del otro mundo. Nótese el detalle de que tenemos un DIV vacío, al que le hemos asignado un ID único. Es en este DIV donde vamos a cargar nuestro contenido dinámico.

Complicando el tema

Ahora vamos a crear el objeto XMLHttpRequest, que será el encargado de actualizar el contenido dinámico de nuestro DIV ‘detalles’.

Creamos un fichero (que, recurriendo a nuestra creatividad habitual, llamaremos ‘ajax.js’):

ajax.js

//  Vamos a presuponer que el usuario es una persona inteligente...
var isIE = false;
//  Creamos una variable para el objeto XMLHttpRequest
var req;
//  Creamos una funcion para cargar los datos en nuestro objeto.
//  Logicamente, antes tenemos que crear el objeto.
//  Vease que la sintaxis varia dependiendo de si usamos un navegador decente
//  o Internet Explorer
function cargaXML(url) {
    //  Primero vamos a ver si la URL es una URL :)
    if(url==''){
        return;
    }
    //  Usuario inteligente...
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    //  ...y usuario de Internet Explorer Windows
    } else if (window.ActiveXObject) {
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

Bien. De momento tenemos una función que crea un objeto XMLHttpRequest (con una u otra sintaxis, dependiendo del navegador) y le asigna la función ‘processReqChange’ al evento ‘onreadystatechange’ (que ahora explicaremos qué quiere decir :)

También hemos usado el método ‘open’ de XMLHttpRequest (que se usa para asignarle la dirección URL de donde va a cargar los datos) y el método ’send’ (que se usa para efectuar la llamada a la URL asignada con ‘open’)

Nos vamos a detener un poco en la sintaxis de ‘open’:

open('metodo','URL',modo-asincrono,'usuario','password');

Los dos primeros parámetros son obligatorios. ‘metodo’ puede ser GET o POST, modo-asincrono es un booleano (TRUE|FALSE) que indica si la llamada será asíncrona (se seguiran ejecutando scripts en la página mientras se cargan los datos) o no (se detendrá la ejecución de los scripts hasta que se complete la carga de datos). ‘usuario’ y ‘password’ son, sorprendentemente, el usuario y el password a usar si la URL requiere autentificación

Seguimos…

Ahora declararemos la función processReqChange:

function processReqChange(){
    //    Referencia a nuestro DIV con ID unica:
    var detalles = document.getElementById("detalles");
    //    Si se ha completado la carga de datos, los mostramos en el DIV...
    if(req.readyState == 4){
        detalles.innerHTML = req.responseText;
    } else {
        //    ...en caso contrario, le diremos al usuario que los estamos cargando:
        detalles.innerHTML = '<img src="loading.gif" align="absmiddle" /> Cargando...';
    }
}

processReqChange es una función que se ejecuta cada vez que se dispara el evento ‘onreadystatechange’ del objeto XMLHttpRequest. ¿Y cuando se dispara este evento? Pues, como su propio nombre indica, cada vez que cambia el estado del objeto. Este evento le asigna al objeto XMLHttpRequest una variable (’readyState’) que puede tener los siguientes valores (puede tener más, pero es que si no esto no sería un mini-tutorial):

  • 0 = no inicilizado (por ejemplo, cuando acabamos de crear el objeto)
  • 1 = cargando datos (hemos llamado al método ’send’ del objeto)
  • 4 = carga completada (ya podemos acceder a los datos que nos ha devuelto el servidor)

Entonces, cada vez que cambie la variable ‘readyState’ miramos si es igual a 4 (carga completada), y si es así metemos el contenido del objeto XMLHttpRequest

req.responseText

en nuestro DIV

detalles.innerHTML = req.responseText

Integrando el script

Ahora vamos a enlazar el JavaScript con el HTML (por aquello de que funcione, y tal… es que si no no tiene gracia…)

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>Mini-tutorial AJAX</title>
        <script src="ajax.js" language="JavaScript"></script>
    </head>
    <body>
        <h4>Mini-tutorial AJAX</h4>
        <div id="detalles"></div>
    </body>
</html>

Bien… ahora nos falta llamar a la función ‘cargaXML’ de alguna forma. En nuestro ejemplo, vamos a usar un ’select’ más o menos de este pelaje:

<select onchange="cargaXML(this.value)">
    <option value="">Elige...</option>
    <option value="001.html">001</option>
    <option value="002.html">002</option>
    <option value="003.html">003</option>
</select>

Lo que estamos haciendo es decirle al navegador que cuando cambie la selección (’onchange’) se ejecute la función ‘cargaXML’ con la URL que hemos puesto en el ‘value’ como parámetro’.

Nuestro ‘index.html’ definitivo quedaría tal que así (voy a añadir unos estilos para que se vea más claramente nuestro DIV ‘detalles’, y para que veamos que se puede decorar el contenido cargado dinámicamente con CSS):

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>Mini-tutorial AJAX</title>
        <script src="ajax.js" language="JavaScript"></script>
        <style>
            #detalles {
                margin: 20px;
                border: 1px solid #F0F0F0;
                padding: 10px;
                font-size: 10px;
            }
        </style>
    </head>
    <body>
        <h4>Mini-tutorial AJAX</h4>
        <select onchange="cargaXML(this.value)">
            <option value="">Elige...</option>
            <option value="001.html">001</option>
            <option value="002.html">002</option>
            <option value="003.html">003</option>
        </select>
        <div id="detalles"></div>
    </body>
</html>

Lógicamente, ahora deberemos crear los ficheros ‘001.html’, ‘002.html’ y ‘003.html’. Esto, como diría mi profesor de álgebra, es trivial y se deja como ejercicio para casa.

Nota: si estás pensando en usar una URL externa a tu dominio, que se te vaya quitando la idea de la cabeza. XMLHttpRequest está sometido a las mismas restricciones de seguridad que el sandbox de JavaScript: no puedes usar el protocolo file:// y no puedes acceder a direcciones fuera de tu dominio. Ahora bien, si tu proveedor es un poco freestyle en temas de seguridad (y es un tema que, digamos, tampoco te preocupa demasiado a ti) puedes usar el viejo truco de incluir el fichero mediante PHP:

include('url-externa-de-la-que-no-sabemos-nada');

Vaya por delante que hacer esto es una locura, y que lo más probable es que tu proveedor no te deje ni intentarlo.

Chapando

Bueno, pues de momento esto es todo… aquí os dejo un ZIP con todos los ficheros, y espero vuestros comentarios.

Para más información, y un tutorial más completo sobre XMLHttpRequest (incluyendo algunas nociones de cómo parsear XML) date una vuelta por la web de Apple Developer


74 Comentarios

Roger
17 November 2005 @ 5am

Hola, el tutorial es bien sencillo me sirvio porque estoy hace poco comenzando a informarme sobre ajax y esto me sirve para tener algo mas que solo documentos que explican de que trata esto, me refiero a codigo. Espero que puedan seguir con los tutoriales de ajax. Saludos!

pd: proximos tutoriales o manuales serán muy bien recibidos :)

Sebastian
9 December 2005 @ 5am

Muy bien! felicitaciones al creador de este minitutorial, para principiantes es muy bueno ya que da la idea a grandes rasgos de lo que se puede hacer con AJAX de una manera rápida y simple.

Mr.Ale
14 January 2006 @ 2am

Exelente tutorial, pero tengo una duda, como hago para que al cargar la pagina index, el div contenedor ya tenga una pagina en carga, osea cargue la una pagina principal sin necesidad de pinchar el enlace. Se entiende?…

ale
14 January 2006 @ 9am

Para que al cargar el index ya aparezca una página en el div contenedor, tendrías que cambiar el tag <body> por algo como <body onload=”cargaXML(’001.html’)”>

Mr.Ale
14 January 2006 @ 8pm

Muuuchisimas gracias, dio resultado….

Luis
20 January 2006 @ 11pm

Los comentarios estan bien interesantes.

Duilio
1 February 2006 @ 10pm

Una pregunta:

a ti te funciona detalles.innerHTML = req.responseText con internet explorer? a mi no…

ale
2 February 2006 @ 9am

No sé si queda claro en el tutorial, pero lo ideal es desarrollar usando un servidor web. Si abres los ficheros desde local, IE aplica una serie de restricciones de seguridad que pueden hacer que falle lo de etalles.innerHTML = req.responseText.

En las últimas versiones de IE aparece un mensaje de error que te pregunta si quieres ejecutar “contenido activo”, y si no le dices que sí no funciona el ejemplo.

Las pruebas las he hecho con IE 6.0.2900 (el que viene con el SP2)

Jorge Molina
3 March 2006 @ 2pm

Excelente tutorial !!! pero tengo una duda: ¿como puedo hacer para que la funcion cargaXML() reciba como parametro el nombre de otro div en el que cargar la información?

Estuve tratando de modificar el codigo y me arroja un error asi que agradecería un ejemplo de como hacer esto.

Felicitaciones nuevamente!

Jose Antonio
15 April 2006 @ 5am

Gran ayuda bro esto si es util espero puedas publicar mas ejemplos

Parra
25 April 2006 @ 8pm

Muy buen sitio:

Tengo una pregunta, existe algun tutorial de AJAX que permita conectar el objeto para que se alimente desde una BD en MYSQL o en PostGress??

Gracias y felicitaciones

ale
25 April 2006 @ 9pm

Sobre AJAX + PHP y MySQL, en realidad no tiene mucho que ver una cosa con otra… En cualquier caso, en breve pondré el código de la mini aplicación de gestión de mailings, que usa AJAX y trabaja contra una BD.

B. Aguirre C.
12 May 2006 @ 4am

Gracias!

esto revoluciona mis conceptos básicos a significativos

..además de probar vuestro ejemplo logré capturar el ejemplo de Apple: http://www.mentorprovida.com/php/ajaxr/example.html

Si alguien lo quiere me avisa y se lo envío en un archivo zip. ok

Micle
16 May 2006 @ 2pm

Yo estoy interesado en el ejemplo de Apple!! como has dicho ” http://www.mentorprovida.com/php/ajaxr/example.html

Si alguien lo quiere me avisa y se lo envío en un archivo zip. ok “

Academo
31 May 2006 @ 4pm

Gracias por el tutorial, ahora tengo una idea de lo que puedo ahace con ajax, me gustaria que pongas uno que se incruste en el php (no como html en php), y que saber si hay alguna manera de pasarles parametros a una funcion que seleccione el div al que se carga la pagina

[...] pero para empezar desde abajo está bien. El resultado se puede ver aquí, y el tutorial aquí.

Deja tu c [...]

marcela
5 July 2006 @ 1am

hola, me interesa el ejemplo de ajax de http://www.mentorprovida.com/php/ajaxr/example.html porfa vor si me pueden enviar el zip, gracias

uri
13 July 2006 @ 9pm

Genial tutorial para completos newbies como yo. Enhorabuena! :)

Daniel FJ
20 July 2006 @ 4am

Hombreeeeeeee! de lujo este tutorial. Bastante efectivo.

Me acabas de abrir la puerta que estaba cerrada con todo ese asunto del AJAX. En verdad, gracias por compartir este conocimiento.

Uyyy, es muy potente y eficaz tu codigo, ya lo probe inclusive con acceso a bases de datos (php/mysql) y jala excelentemente bien!

rromero
28 July 2006 @ 2am

Hola muy bueno este tutorial y felicidades al creador, pero tengo una unda duda al respecto:

yo tengo una pagina en php que va mostrando registros una ves que estos son publicados, pero hay que hacer manual la actualizacion de la pagina, como yo pudiera mostrar los nuevos registros que entran con ajax y sin tener que recargar la pagina completa solo el div donde muestro los titulares.

Espero puedan ayudarme, saludos rromero@jrebelde.cip.cu

Saúl
19 August 2006 @ 6am

Buen tutorial ^^, gracias por dar este material, ahora tengo las cosas mas claras para terminar mi formulario …….q sigan los tutos xD!!!

[...] Te paso algunos en castellano y otros en inglés. Castellano Ajax básico Tutorial de Ajax Minitutorial de Ajax Inglés Whats Ajax? [...]

Albineitor
29 August 2006 @ 11pm

Muy bueno el tutorial..

Ahora una consultilla, como puedo pasar texto de un area de texto para visualizarlo en la misma página, algo asi como un editor en que abajo se ingresa el texto html y arriba de visualiza…. Gracias.

koby
13 September 2006 @ 9pm

Si pones a la función processReqChange; parentesis al llamarla: processReqChange(); ¿porque no va? es quería añadirle un parametro para decirle la etiqueta del div donde cargar

ale
13 September 2006 @ 9pm

koby, si le pones paréntesis no funciona porque entonces lo que estás haciendo es asignarle a onreadystatechange lo que sea que devuelva la función processReqChange.

Si quieres asignar un div, lo mejor es que lo pases como parámetro a cargaXML cuando haces la llamada AJAX… (esto me recuerda que tengo que actualizar el código con unas mejoras que tengo por ahí guardadas…)

codec
15 September 2006 @ 12am

porqué no puedo guardar los valores que me devuelve la función en el “responseText” en una variable global para utilizarla desde otra función? parece que las destruye y me salen como “undefined”

numerobis
24 September 2006 @ 12pm

Buenas, el tutorial está de lujo, pero yo soy un poco cenutrio y apenas se me ocurre variar algo. Lo encontré mientras buscaba una solución a mi problema, y no sé si lo puedeo aplicar.

Tengo una página index.php con un include de un menu.php. Lo que quería era que al pinchar los enlaces de este menú, se cargaran las páginas en un div “contenidos” que hay en index.php. ¿Se puede emplear este tutorial para hacerlo o mejor lo hago de otra forma?

Saludos y Gracias

Victor
26 September 2006 @ 10pm

Hola el tutorial esta muy re bueno.

me interesa el ejemplo de ajax de http://www.mentorprovida.com/php/ajaxr/example.html porfa vor si me pueden enviar el zip para tener unos conocimientos con base de datos. vcifuentes@gmail.com

Saludos.

Guillermo
3 October 2006 @ 12pm

Enhorabuena por el tutorial, resulta muy sencillo de seguir para los que empezamos con Ajax…

Jose
4 October 2006 @ 5pm

Que pasa si creo dentro de un div varios div dinamicos y luego quiero usar esos Ids para ocultar uno de ellos, puedo obtener el id de un objeto creado dinamicamente?

lio
6 October 2006 @ 4pm

Weno.. les pediria… por favor a alguien, si me pudiera pasar un manual basico de ajax, ya que mis conocimientos de codigo no son muy amplios y estoy tratando de meterme en el tema. Salu2. lionel. lio.arg@gmail.com

Adrian
10 October 2006 @ 11pm

Felicitaciones! al que hizo este mini tutorial. Alguien me podria pasar el zip de http://www.mentorprovida.com/php/ajaxr/example.html adrianmendez@argentina.com Muchas Gracias Saludos

Jason
19 October 2006 @ 5pm

Excelente amigo muy bien explicado felicitaciones.

Ví el codigo de http://www.mentorprovida.com/php/ajaxr/example.html Quisiera que alguien me lo enviara a mi correo jasonkfm@gmail.com sin embargo este codigo si entiendo bien lo de Ajax puede mejorarse ya que cuando haces click a un elemento de la lista esta viajando (haciendo submit) para traerse los nuevos datos que son los que se muestran al final de la pagina de todas formas me interesa para ver si le puedo hayar solucion a eso, muchas gracias de antemano se despide Jason desde Caracas - Venezuela

[...] er programes dinàmics. He decidit fer 4 pijades a la web del club, començant amb aquest Mini Tutorial però era massa simple i al començar a voler fer coses mes complicades no [...]

anghettuz
21 October 2006 @ 5pm

sencillo pero muy efectivo…Felicitaciones meta cumplida.

me gustaria saber como enlazar con PHP y MYSQL para un proyecto que estoy realizando

hola
29 October 2006 @ 4pm

esta bien el tutorial

Rolo
4 November 2006 @ 3am

Saludos me interesa mucho en tener el ejemplo de http://www.mentorprovida.com/php/ajaxr/example.html si me lo pueden enviar a mi correo (roloseqvic@gmail.com) se los agradezco de antemano… or cierto buen tutorial para iniciar

ale
5 November 2006 @ 8am

Rolo » El ejemplo que mencionas es el que puedes descargar de la web de Apple Developer que se menciona en el post…

Gustavo
6 November 2006 @ 9pm

Muy buen tutorial, felicitaciones al creador, estoy interesado en la tendencia Ajax. No tengo experiencia en ajax, pero si en PHP, CSS, html y otros lenguajes web. Desconosco si ser sumamente necesario un server para programar cosas mas interesantes en Ajax, si la respuesta es “si” los invito a que se contacten conmigo yo me dedico al hospedaje web y podriamos usar el server para “jugar”. Claro que no les cobraría nada. Salu2 desde México

carlos
9 November 2006 @ 7pm

genial, muy buen tutorial para iniciarse, me ha servido de mucha ayuda para empezar con esto del Ajax

walter gonzales
17 November 2006 @ 7pm

Alguien me podria decir como hago q un metodo de java script se ejecuta llamandolo en el onload de una pagina, esta pagina se coloca en un div dentro de otra pagina

www.auladigital.com
26 November 2006 @ 6pm

Mini - Tutorial de AJAX de Sofá Naranja…

Sofá Naranja, en su empeño por acercar la tecnología al pueblo, presenta un mini-tutorial sobre el palabro de moda: AJAX. Si andabas buscando una excusa para trastear con AJAX, la acabas de encontrar. AJAX es fácil. AJAX es potente. AJAX lava más …

lisandro
26 November 2006 @ 7pm

Amigo… seria interesante mostrar los textos coloreados, es muy tedioso verlos asi como esta, un saludo !

Hammer
17 December 2006 @ 6pm

Hola como teva, felicitaciones por el tutorial es bueno que gente como vos de tutoriales en castellano, mi pregunta es, como hago para que el lo pueda convertir en osea una vinculacion normal sin selectiva y sin que se pierda el ajax.. gracias si me lo podes mandar a mi correo te lo agradesco

Isaac
22 December 2006 @ 10pm

Hola, una cuestion como aplico esto a un formulario, por que u simple link funciona sin problemas pagina

pero en un formulario:

no funciona

Isaac

Isaac
22 December 2006 @ 10pm

Soy el de antes, se ve que el blog me interpreta el html: el codigoque habia puesto es este:

“a href=”#” name=”#” onclick=”cargaXML(this.name)” “

“form action=”#” onsubmit=”cargaXML(this.name)” method=”post” enctype=”multipart/form-data”"

bichomen

Ernesto
26 December 2006 @ 5pm

Hola, antes que nada, gracias por escribir ejemplos sencillos en tu tutorial. Estube probando tu script pero cuando intenté hacer una aplicación para mi me dejó de funcionar.

en primer lugar, en mozilla no me punciona si no enlazo con la función de esta manera:

req.onreadystatechange = processReqChange() (si no pongo los parentesis no me va a la función).

Mi objetivo era testear por javascript si existia la página y en caso afirmativo abrirla. Con el explorer funcionó, al principio me aparece como readyState 0 o 1, pero al rato daba 4 y podía habrir la page. En mozilla todas las veces me dio readyState 0. Lo feo tambien es que si le suministro una url que no existe, de ves en cuando explorer me da que la conexión existe (readyState ==4).

estoy usando firefox 1.5.0.6 y explorer 6.0.28. Por favor, te agradecería que me digas en que estoy fallando, gracias

Carlos
5 January 2007 @ 8pm

Muy buen tutorial, facil de entender y muy potente para realizar distintas aplicaciones…:-)

Juan
15 January 2007 @ 6pm

Muy buen tutorial, facil de entender y muy potente para realizar distintas aplicaciones…:-)

Junior
24 January 2007 @ 2pm

Exelente tutorial ya tengo una mejor perspectiva sobre ajax, gracias.

andrea
13 February 2007 @ 4pm

el mejor tutorial práctico que lei , los anteriores solo eran pura teoria :(, muchas gracias, al creador de este tutorial

Roger
15 February 2007 @ 3am

Pero que buen documento, entendi a la perfeccion como funciona la carga de contenidos sin necesidad de cargar toda lapagina, muy buena explicaicon, muy didactico, esperamos mas de ajax. Felicitaciones.

Mauricio
21 February 2007 @ 7am

Muy buen tutorial… pero necesito ayuda Tengo un formulario con varios campos y quiero saber si al agregar datos a un campo de texto se puede realizar una consulta a una BD mysql y si está en los registros se completen los demás campos del formulario. ¿Se puede con Ajax?

Alexander
11 March 2007 @ 11pm

Gracias por ese tutorial esta muy sencillo y rapido pero necesito ayuda cmo hacer cuando al seleccionar un valor de un radio (type=”radio”), actualice un combo (o select como se le llama en html) según un parámetro enviado por la acción sobre el radio, y luego según el valor seleccionado del combo anterior, actualice automáticamente los valores de otro combo. Cada actualización implica el acceso a datos (base de datos).

[...] Mini-tutorial de AJAX - Sofá Naranja [...]

Erick Arrieta
18 March 2007 @ 3pm

excelente… tutorial, encontre informacion que no hay en otras paginas, me estoy especializando en desarrollo de web con Ajax, quisiera saber si tienes mas documentacion acerca de este tema Saludos

Desarrollador web
29 April 2007 @ 3pm

Interesante artículo y muy bien explicado [ te lo dice alguien dedicado a la docencia ;) ] Sólo tengo una duda ¿funcionaría en Linux?

Angel
1 May 2007 @ 2pm

Felicitaciones..muy bueno este mini-tutorial, cosas puntuales y no tanto blablabla…espero el macro-tutorial…espero que lo publiquen

Gracias…saludos!!

Carlos Coronando C.
18 July 2007 @ 8pm

Buen tutorial para empezar, felicitaciones.

baruch
22 August 2007 @ 8am

hola solo quiero decir q estuvo muy bueno el tutorial

Alfredo
2 September 2007 @ 2pm

Gracias. Me ha sido de gran utilidad. Bien explicado.

Sergio
5 September 2007 @ 11am

Muy bueno y sencillo el tutorial, muchas gracias.

Ahora tengo una duda. He creado un sistema de “fichas” que dentro de una página web X en una capa cargo el contenido de otras paginas Y,Z,…

Pues bien, de manera sorprendente he visto que en dichas páginas Y,Z,… si intento hacer un script con un simple document.write o incluso un alert, no funciona!

De manera más curiosa he probado lo mismo con eventos (onclick) y sí funciona.

¿Puede ser posible esto? ¿Qué hago mal? ¿Tiene algo que ver que sólo lo pruebe en local?

Muchas gracias.

Oliber
17 September 2007 @ 6pm

Holla, estoy muy alegre de haber encontrado un sitio donde explicaran tan detallado la funcionalidad del AJAX. Este mini - tutorial me ha parecido de maravilla para comprender la filosofía del AJAX. Por esto les pido que continuen sacando cosas como estas que explican la funcionalidad de las cosas y dejan al usuario en plena libertad de desarrollar con su imaginacion y potencialidad lo que desee.

!Muchisimas Gracias!

Maris
28 September 2007 @ 12pm

Es genial Ale pero en IE 7 no va, sin embargo en el Mozilla a mi me va perfectamente. No sé si será porque lo estoy probando en local. De todas las maneras MUCHAS GRACIAS!!!!! por compartir tu sabiduría con el resto de los mortales.

pepe elias
1 February 2008 @ 6am

Buenas a todos, como ya lo han dicho y coincido con toda la raza, este tutorial de includes con ajax esta excelente, solo tengo una petición al creador…

Como hago para poder cargar diferentes contenidos en diferentes “div”, es decir, no solo me gustaría usar “detalles”, sino también “detalles1″, “detalles2″, etc. Será esto posible con el código que se ha mostrado aquí?

Saludos…

morim
1 February 2008 @ 9pm

Excelente tuto, muy facil y buena la apliacion. Mi pregunta es cuando tu cargas un archivo que contiene una animacion flash(swf) dentro de ajax no aparece o no lo carga? como ago para q cargue el SWF

[...] Mini-tutorial de AJAX - Sofá Naranja [...]

juano
1 March 2008 @ 2am

Excelente tutorial, aunque mi escases de programacion me puso una duda, ahi esta puesto para un selector, como seria el codigo para un boton?? yo tengo esto por ej como llamo al xml y como agrego lo otro para que ese boton productos cargue en el DIV detalles mi contenido?

<a href="#productos.html" class="enlace">productos</a>

Espero la respuesta de algun generoso y Muchas Gracias!!!

Jaime
3 March 2008 @ 9pm

Buenisimo, super claro, asi da gusto ver tutoriales…

David
4 March 2008 @ 4pm

Hola,muy bueno el tuto, como puedo hacer para tener unos links numericos y que al presionar en cada numero se vaya cargando el contenido ?

Gracias

pablo
27 March 2008 @ 3am

Muy bueno el tutorial, pero estoy probando y queria hacer algo muy sencillo y la verdad no me sale, va me sale una parte de lo que quiero hacer. creo un formulario el cual llama a una funcion para validarlo, si esta todo ok, utiliza ajax para enviarlo a una pagina.php en donde guardo todo los valores en un objeto que cree, hasta aca todo bien, devuelvo un valor OK para que cuando lo recupero desde ajax pueda redireccionarme a otra pantalla, pero no logro hacer esto ultimo, alguien tiene alguna idea de como se puede hacer, muchas gracias

[...] de Ajax (Cristal) Manuales y tutoriales de Ajax Mini-tutorial de Ajax Tutoriales de Ajax - Wikilearning Recopilacion de tutoriales Ajax Manuales de Ajax Tutorial Manejo [...]

[...] Mini-tutorial de AJAX ver tutorial. [...]

Mini-Tutorial de Ajax - Sofá Naranja
27 November 2008 @ 3pm

[...] Mini-Tutorial de Ajax - Sofá Naranjasofanaranja.com/2005/08/24/mini-tutorial-de-ajax/ por esmiz hace pocos segundos [...]