Encuentro mucha esta materia de AJAX un pedacito de un bombo. Las porciones de gente tienen
utilizar cosas similares mucho antes de que él se convirtió en “AJAX”. Y él realmente
no es tan complicado como mucha gente lo hace para ser. Aquí está a
ejemplo simple a partir del uno de mis apps.
/* EL JAVASCRIPT PARA CREAR LA INFRAESTRUCTURA DE AJAX *
FUNCIÓN DE/* PARA CREAR EL OBJETO DE LA PETICIÓN DE BROWSER-DEPENDENT *
createRequestObject de la función ()
{
ro del var;
hojeador del var = navigator.appName;
si (== “Microsoft Internet Explorer” del hojeador)
{
ro = nuevo ActiveXObject (“Microsoft.XMLHTTP”);
}
{
ro = nuevo XMLHttpRequest ();
}
ro de vuelta;
}
FUNCIÓN DE/* PARA ENVIAR LA PETICIÓN *
sendReq de la función (acción)
{
¿http.open (“conseguir”, 'ajaxprocessor.php? acción de action='+);
http.onreadystatechange = handleResponse;
http.send (falta de información);
}
FUNCIÓN DE/* PARA MANEJAR LA RESPUESTA *
handleResponse de la función ()
{
si (== de http.readyState 4)
{
respuesta del var = http.responseText;
actualización del var = nuevo arsenal ();
si (response.indexOf (“|¡”! = -1))
{
actualización = response.split (“|");
document.getElementById (actualización [0]) .innerHTML = actualización [1];
}
}
}
/* CREAN EL OBJETO *
var HTTP = createRequestObject ();
FINAL DE/* DEL JAVASCRIPT *
Esto crea un objeto de la petición junto con una petición y una manija del envío
función de respuesta. Utilizarla tan realmente, usted podría incluir este js adentro
su página. Entonces hacerle una de estas peticiones backend lo ataría
algo. Como acontecimiento de un onclick o un href recto tener gusto de esto:
[Foo]
Eso significa eso cuando alguien chasca encendido ese acoplamiento qué sucede realmente
¿es eso una petición backend a ajaxprocessor.php? el action=foo será enviado.
En ajaxprocessor.php usted puede ser que tenga algo similar:
/* EL PHP PARA MANEJAR LA PETICIÓN DE LA ESCRITURA ANTICIPADA *
interruptor ($_GET [“acción”])
{
caso “foo”:
// HACE LO QUE ES APROPIADO EL PROCESO
// ENTONCES VUELVE UNA SECUENCIA de la RESPUESTA al handleResponse ()
foo del eco “|Foo hecho”;
rotura;
// ETC….
}
Ahora, mirada en el handleResponse. Analiza el “foo|” Secuencia hecha Foo y
fracturas él en “|” y utiliza lo que está antes de “|” como los dom
identificación del elemento en su página y la parte después como del nuevo innerHTML de eso
elemento. Eso medios si usted tiene una etiqueta del div como esto en su página:
Para Foo que espera
Una vez que usted chasca encendido ese acoplamiento, eso será cambiada dinámicamente a:
Foo hecho
Ése es todo allí está a él. Todo apenas está construyendo encima de
esto. Substituyendo identificación de mi respuesta simple “|sintaxis del texto” con un XML más rico
dar formato y haciendo la petición mucho complicada también. Antes de usted
instalar oculto las bibliotecas grandes de “AJAX”, tienen un ir en la rueda sus los propios
la funcionalidad así que usted saben exactamente trabaja y usted la hace solamente como
complicado como usted necesita. Usted no necesita a menudo mucho más que qué I
han demostrado aquí.
Ampliando este acercamiento un pedacito para enviar parámetros múltiples en
la petición, por ejemplo, sería realmente simple. Algo tiene gusto:
sendReqArg de la función (acción, arg)
{
¿http.open (“conseguir”, 'ajaxprocessor.php? arg de action='+ action+'& arg='+);
http.onreadystatechange = handleResponse;
http.send (falta de información);
}
Y su handleResponse se puede ampliar fácilmente para hacer más interesante
cosas que apenas substituyendo el contenido de un div.
- Rasmus (Lerdorf?)
|