Lo que sigue es una serie de ejemplos sobre como utilizar JSON y AJAX de la mano de Mootools.
Podés ver la explicación completa sobre Remote.AJAX en mi blog,
donde también podrás encontrar mas información, ejemplos y tutoriales sobre Mootools en Castellano como asi también
sobre algunos otros temas.
Suscribite a mi blog para recibir articulos directamente en tu lector de Feeds favorito.
Click para probar
$('uno').addEvent('click', function(ev) { new Event(ev).stop(); var objeto = { nombre: 'Mootools', descripcion: 'Framework' } //Pasamos nuestro objeto a un simple string var str = Json.toString(objeto); $('respuesta1').setHTML(str); });
Click para probar String incorrecto con secure false
$('dos').addEvent('click', function(ev) { new Event(ev).stop(); var str = '{"nombre":"Mootools","descripcion":"Framework"}'; //Pasamos nuestro string a un objeto var objeto = Json.evaluate(str); $('respuesta2').setHTML('Nombre: ' + objeto.nombre + '<br />Descripción: ' + objeto.descripcion); });
Click para probar String incorrecto con secure true
$('tres').addEvent('click', function(ev) { new Event(ev).stop(); var str = '{"nombre":"Mootools","descripcion":"Framework}'; //Nuestro string en este caso es incorrecto, falta una " luego de Framework var objeto = Json.evaluate(str); //Como dejamos el parametro secure en false(predefinido), no se chequea la sintaxis //y al intentar convertir el string a objeto obtenemos un error. });
Click para probar
$('cuatro').addEvent('click', function(ev) { new Event(ev).stop(); var str = '{"nombre":"Mootools","descripcion":"Framework}'; var objeto = Json.evaluate(str, true); //Si indicamos secure como true y el string es incorrecto, objeto vale null pero no habra error como en el ejemplo anterior if(objeto != null) $('respuesta4').setHTML('Nombre: ' + objeto.nombre + '<br />Descripción: ' + objeto.descripcion); else $('respuesta4').setHTML('El string JSON es incorrecto.'); });
$('cinco').addEvent('click', function(ev) { new Event(ev).stop(); //Enviamos una peticion a recibe.php var miJSON = new Json.Remote("recibe.php", { //la peticion nos devolvera un objeto el cual llegara como parametro en el evento onComplete onComplete: function(objeto) { $('respuesta5').setHTML('Nombre: ' + objeto.nombre + '<br />Descripción: ' + objeto.descripcion); } }); miJSON.send(); });
Click para probar Enviando parámetros junto con la petición
<?php /* recibe.php */ ?>
$('seis').addEvent('click', function(ev) { new Event(ev).stop(); var miJSON = new Json.Remote("recibe2.php", { onComplete: function(objeto) { $('respuesta6').setHTML('Nombre: ' + objeto.nombre + '<br />Descripción: ' + objeto.descripcion); } }); //junto con nuestra peticion tambien podemos enviar un objeto miJSON.send( { nombre:"Mootools2" }); });
Click para probar
<?php /* recibe2.php */ $json = json_decode($data); ?>