Podés ver la explicación completa sobre Remote.XHR 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.

Remote.XHR

Ejemplo de uso

  1. $('uno').addEvent('click', function()
  2. {
  3. //Creamos nuestro objeto XHR
  4. var mooXHR = new XHR(
  5. {
  6. method:'get', //indicamos como método 'get' para recibirlo con php usando $_GET['variable'].
  7. onRequest: function()
  8. {
  9. //Cuando se inicia la petición, mostramos un pequeño mensaje en nuestro div
  10. $('respuesta1').setHTML('Enviando...');
  11. },
  12. onSuccess: function()
  13. {
  14. //Cuando obtengamos una respuesta, la mostramos dentro del div 'respuesta1'.
  15. $('respuesta1').setHTML(this.response.text);
  16. }
  17. });
  18. //Enviamos la petición a recibe.php pasando la variable ejemplo=uno y esperamos la respuesta.
  19. mooXHR.send('recibe.php','ejemplo=uno');
  20. });
El código de recibe.php es el siguiente:
  1. echo 'Enviado por PHP para el ejemplo ' . $_GET['ejemplo'];
Click para probar

Recibiendo un XML

  1. $('dos').addEvent('click', function(ev)
  2. {
  3. new Event(ev).stop();
  4. var mooXHR = new XHR(
  5. {
  6. method:'get',
  7. onRequest: function()
  8. {
  9. $('respuesta2').setHTML('Enviando...');
  10. },
  11. onSuccess: function()
  12. {
  13. $('respuesta2').setHTML(this.response.xml);//Aqui esta el cambio, text por xml
  14. }
  15. });
  16. mooXHR.send('recibe2.php','ejemplo=uno');
  17. });
El código de recibe2.php es el siguiente:
  1. header('Content-type: application/xml');
  2. echo '<xml>' . $_GET['ejemplo'] . '</xml>';
Click para probar

Evento onFailure

  1. $('tres').addEvent('click', function(ev)
  2. {
  3. new Event(ev).stop();
  4. var mooXHR = new XHR(
  5. {
  6. onFailure: function()
  7. {
  8. $('respuesta3').setHTML('Algo anda mal...');
  9. }
  10. });
  11. //recibe3.php no existe
  12. mooXHR.send('recibe3.php','ejemplo=uno');
  13. });
Click para probar