Como crear un motor AJAX

Como generar un motor de AJAX

El siguiente código muestra un "motor" simple para la implementación de AJAX.

Básicamente, se crea una estructura en JavaScript similar a la de una clase de cualquier lenguaje orientado a objetos.

La función principal (AjaxHandler), actúa o tiene un comportamiento símil a la de una clase y su constructor. Esta clase espera una dirección URL y un evento como parámetros iniciales.

La dirección URL será utilizada por el motor para enviar la petición a una página, servicio web, o cualquier elemento que este expuesto en la Web y que retorne algún valor al momento de procesar la petición.

eventAttach, por otro lado, es una referencia a una función en nuestro código que será utilizada como evento, el mismo que se disparará al momento de que la petición se complete, enviando un parámetro con los valores obtenidos en la petición.

function AjaxHandler(url, eventAttach)
{
    var self = this;
    this._req = null;
     this._url = url;
     this._eventAttach = eventAttach;

     function processReqChanges()
     {
        if (self._req.readyState == 4) {
          if (self._req.status == 200) {
          self._eventAttach(self._req.responseText);
          } else {
          alert("Hubo un problema al procesar el pedido:\n"
          self._req.statusText);
          }
        }
      }

     this.SendRequest = function()
     {
       if (window.XMLHttpRequest) {
           this._req = new XMLHttpRequest();
           this._req.onreadystatechange = processReqChanges;
           this._req.open("GET", this._url, true);
           this._req.send(null);
       } else if (window.ActiveXObject) {
       this._req = new ActiveXObject("Microsoft.XMLHTTP");
       if (this._req) {
           this._req.onreadystatechange = processReqChanges;
           this._req.open("GET", this._url, true);
           this._req.send();
       }
      }
     }
}


A continuación se muestra como generar una instancia del motor:

var _ajaxHandler = new AjaxHandler("PaginaOElementoWeb", MiFuncion);
_ajaxHandler.SendRequest();


De esta manera, el primer parámetro representará el elemento al cual se le quiere enviar la petición. Pudiendo, en este caso, concatenar valores en formato GET para el envío de parámetros.

Para el segundo parámetro, es necesario contar con la función que se disparará en el momento que la petición finalice y el objeto al cual se le envió dicha petición retorne algún valor.

Esta puede ser declara de la siguiente manera:

function MiFuncion(valor)
{
     //Interactuar con el HTML.
}

Ir al principio Inicio del artículo

Atículos publicados por Matías Iacono Autor: Matías Iacono - 9/24/2008
      Tags: Windows, .Net, HTML, JavaScript, Principiante, Intermedio, AJAX, ASP.Net, ASP




Comentarios:

Artículos relacionados

Para poder comentar el artículo es necesario que te registres como usuario.
Si aún no eres un usuario registrado puedes hacerlo por medio del siguiente link.

Si ya eres un usuario registrado simplemente autentifícate para poder comentar el artículo.
Para autentificarte como usuario puedes hacerlo por medio del siguiente link.