Libreria AJAX
Por fin tengo mi propia clase AJAX , siempre he usado XHconn que me parece perfecta, fácil de implementar y de usar.
Partiendo de varios conceptos he creado una clase que se adapta a mis necesidades, enviar parámetros, recoger el refer, disparar una función y actualizar en una capa.
La clase es fácil de usar, solo tienes que rellenar los argumentos.
Existen dos métodos, ajax.get y ajax.post:
ajax.get(url,parametros,función);
El primer argumento es el que mas destaca, la única novedad que tiene es que puedes concatenar la respuesta o añadirla delante.Se usa de una forma sencilla y es definiendo el ancla.
ajax.get('ajax.php#update');
En esto ejemplo la respuesta obtenida en ajax.php se cargaría en la capa con id update.
ajax.get('ajax.php#^update');
Igual que el anterior pero añadida delante
ajax.get('ajax.php#+update');
En este caso la respuesta estaria concatenada con el html del contenedor.
El segundo argumento (opcional) es pasado como un objeto e indicamos los valores a pasar. Esto se hace de esta forma porque resulta muy comodo, mucho mejor que escapar manualmente los caracteres.
ajax.get('ajax.php#update',{id:125,action:"ajax"});
El tercer argumento (opcional) es para indicar una función y dispararla al obtener la respuesta de la pagina.
ajax.get('ajax.php#updare',{id:125,action:"ajax"}, function(oRequest) { alert(oRequest.responseText); } );
El modo de uso no es complicado, solo tienes que añadir al onclick del enlace un return ajax.get();, la función retorna false y el link del href no se efectúa.
<a href="update.php" onclick="ajax.get('ajax.php#update');">Enlace</a>
<div id="update"></div>
Descargar la clase AJAX.
Ver post
Comentar
Diego#1 hace 1388 días
Luego: Como haces para llamar a la funcion del PHP? (o del lenguaje servidor que corresponda), a la funcion que te refieres en tu clase es a una funcion JavaScript…
Icebeat#2 hace 1388 días
guu#3 hace 1388 días
http://script.aculo.us/
EnZo#4 hace 1387 días
Esta chulo, y facil de usar y entender.
Alex Sancho#5 hace 1385 días
kNo#6 hace 1384 días
aj = new ajax;
aj.get(....)
Si no ¿que pasa si pulso dos veces al botón o quiero hacer dos peticiones asincronas distintas? No se pueden hacer dos instancias distintas luego no es una clase. Esto pasa cuando los diseñadores gráficos se meten a programadores… malo, malo :(
Icebeat#7 hace 1384 días
kNo lo hago lo mejor que puedo, quizas me haya equivocado en llamarla clase, pero eso no quita que no funcione y cumpla su función.
Sobre el tema de los diseñadores desarrolladores mejor no entrar en debate.
guu#8 hace 1382 días
Yo manejo bien Prototype y Script.aculo.us y me parecen sencillos, pero no podria hacer nada de calidad como esta web, por ejemplo. O sea, si combinaramos nuestras habilidades podrias tener cosas muy utiles y robustas y ademas con diseños excelentes.
Insisto, me parece bien que hagas tus propias librerias, eso te lleva a entender mucho mas las cosas. Yo lo hice tambien. Pero es mas facil aprender a utilizar Prototype que hacer su propia libreria.
Si te interesa, puedo darte una mano con eso. Es mas, podemos hacer algun mini-proyecto y ver q tal.. bueno, solo una idea.
Saludos
Icebeat#9 hace 1380 días
Guu ahora mismo ando liado en un proyecto bastante bueno, pero por ejemplo en ese solo me encargo del diseño, tienes mucha razón que cada uno se especialize en lo que toca, pero yo no le tengo miedo al codigo igual que algunos programadores al diseño.
Cristian Villaseca#10 hace 1375 días
Disculpen por las molestias, resulta que desde algunos días no puedo editar imágenes en WebFtp y no soy el único usuario de bitácoras.com con este problema.
Saludos
Aure#11 hace 1369 días
He notado que cuando cargo contenido obtenido mediante AJAX y si este nuevo contenido trae trocitos Javascript, estos no son interpretados, es decir, si en el nuevo contenido traigo un [ alert(‘Holas’); ], cuando se carga no muestra el mensajito…
Habrá alguna forma de poder hacer que lo interprete???
Icebeat#12 hace 1368 días
Aure#13 hace 1367 días
Icebeat#14 hace 1366 días
Aure#15 hace 1365 días
Tnx
IceBeat#16 hace 1357 días
Alex Barros#17 hace 1142 días
Gracias a esta sencillisima clase he podido trabajar con AJAX !!
Yo empecé con librerias complejas, y aunque unas más que otras, todas bastante pesadas. Y lo único que quería era lo mínimo para hacer una conexión tipo AJAX, de lo más sencillo.
Este es el único código que haya visto que funciona perfectamente en todos los navegadores, y cumple su función perfectamente, ni más ni menos.
La he utilizado en varios proyectos interesantes con muy buenos resultados. Muchísimas gracias.
Y acerca de los desarrolladores / diseñadores. Yo no me considero ni una cosa ni la otra. Tanto me da por currarme un buen diseño tirando del CSS y HTML como por programar y desarrollar mis algoritmos, funciones y demás en PHP, Javascript, etc. No creo que sean incompatibles, más bien complementarios. Además, lo mejor que puede hacer uno es experimentar con lo que le gusta.
Un saludo.
Frank#18 hace 1075 días
Está muy chida tu explicación y tu clase de ajax me servira para hacer mi propia clase utilizare tu clase como molde de la mia. jajaja gracias
IceBeat#19 hace 1074 días
Frank mootools es una buena libreria, te la recomiendo mister.
ovreuc#20 hace 1011 días
Existe una manera mas sencilla para tomar los parametros que se enviaran por ajax?, es decir en lugar de tener por ejemplo la forma:
ajax ('div', 'pagina', 'var_1='+document.form.texto.value ... etc..
ya que si tengo que enviar mas de 5 ya se hace tedioso y trabajoso, conocen alguna manera de automatizar el envio de los parametros?
IceBeat#21 hace 1011 días
@ovreuc te recomiendo mootools.