16 noviembre 2005
Funcionamiento básico de AJAX
No me considero un experto ni muchísimo menos, pero desde la primera vez que oí la palabra AJAX hasta hoy, he avanzado una barbaridad.
De modo que explico a grandes rasgos lo que hace AJAX, a sabiendas de que si alguien experto lee esto se reirá de mí, jeje.
Lo que hace ajax es lo siguiente:
1.- El cliente llama a un javascript.
2.- El javascript se conecta al servidor.
3.- El servidor hace lo que sea y devuelve (o no) un resultado.
4.- El javascript del cliente recoge el dato y lo presenta al usuario.
Como mi explicación es casi más liosa que la pregunta, pongo un ejemplo.
1.- Llamamos al javascript:
[input id="Button1" type="button" onclick="devuelve()" value="button" /]
2.- El javascript se conecta al servidor:
function devuelve()
{
Cableado_Ajax_Default.Devuelveme(devuelve_callback);
// Luego se verá qué es 'devuelve_callback'
}
Para ello, el código servidor debe tener lo siguiente:
public partial class Cableado_Ajax_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(Cableado_Ajax_Default));
}
...
}
3.- El servidor hace lo que sea y devuelve un resultado:
[Ajax.AjaxMethod]
public string Devuelveme()
{
string miProximaWeb = "letrasenlared.com"; // algo de publi, jejejeje
return miProximaWeb;
}
4.- Cogemos el resultado con javascript y lo presentamos al usuario:
// Aquí viene el significado de 'devuelve_callback'
function devuelve_callback(res)
{
alert(res.value);
}
----------------------
Así pues todo esto debe funcionar si has hecho bien todo lo que te dicen de configuración: añadir referencias, añadir handlers, etc.
Como veis, en la función devuelve se llama a Cableado_Ajax_Default.Devuelveme(devuelve_callback);
Esto viene a decir: llámame a 'Cableado_Ajax_Default' tal y como he registrado en el pageload y ejecuta la función Devuelveme(), y el resultado que tengas me lo pasas a mi otra función javascript devuelve_callback(res), la cuál se encargará de presentar los datos al usuario
De modo que explico a grandes rasgos lo que hace AJAX, a sabiendas de que si alguien experto lee esto se reirá de mí, jeje.
Lo que hace ajax es lo siguiente:
1.- El cliente llama a un javascript.
2.- El javascript se conecta al servidor.
3.- El servidor hace lo que sea y devuelve (o no) un resultado.
4.- El javascript del cliente recoge el dato y lo presenta al usuario.
Como mi explicación es casi más liosa que la pregunta, pongo un ejemplo.
1.- Llamamos al javascript:
[input id="Button1" type="button" onclick="devuelve()" value="button" /]
2.- El javascript se conecta al servidor:
function devuelve()
{
Cableado_Ajax_Default.Devuelveme(devuelve_callback);
// Luego se verá qué es 'devuelve_callback'
}
Para ello, el código servidor debe tener lo siguiente:
public partial class Cableado_Ajax_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(Cableado_Ajax_Default));
}
...
}
3.- El servidor hace lo que sea y devuelve un resultado:
[Ajax.AjaxMethod]
public string Devuelveme()
{
string miProximaWeb = "letrasenlared.com"; // algo de publi, jejejeje
return miProximaWeb;
}
4.- Cogemos el resultado con javascript y lo presentamos al usuario:
// Aquí viene el significado de 'devuelve_callback'
function devuelve_callback(res)
{
alert(res.value);
}
----------------------
Así pues todo esto debe funcionar si has hecho bien todo lo que te dicen de configuración: añadir referencias, añadir handlers, etc.
Como veis, en la función devuelve se llama a Cableado_Ajax_Default.Devuelveme(devuelve_callback);
Esto viene a decir: llámame a 'Cableado_Ajax_Default' tal y como he registrado en el pageload y ejecuta la función Devuelveme(), y el resultado que tengas me lo pasas a mi otra función javascript devuelve_callback(res), la cuál se encargará de presentar los datos al usuario