|
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.
}
|
Inicio del artículo
|
Autor: Matías Iacono - 9/24/2008 Tags: Windows, .Net, HTML, JavaScript, Principiante, Intermedio, AJAX, ASP.Net, ASP
|
Comentarios:
|
|
|