En mi caso uso la YUI Library. El primer paso es cargar el modulo de conexión, lo cual se hace agregando la siguiente linea de html:
una vez cargado hacemos nuestra conexión a la BD. Si queremos usar el metodo GET para enviar los datos usariamos el siguiente codigo de Javascrit
var URL = '/services/getSupervisores.php?param1=val1¶m2=val2';
var callback = {
success: function (o)
{
result = explodeXML('nodo', new Array('menu','padre'), o.responseXML);
...
},
failure: function (o)
{
alert('Error en la conexion: Code ' + o.status );
}
}
var request = YAHOO.util.Connect.asyncRequest('GET', URL , callback);
el mismo ejemplo, usando el metodo POST seria:
var params = 'param1=val1¶m2=val2';
var URL = '/services/getSupervisores.php';
var callback = {
success: function (o)
{
result = explodeXML('nodo', new Array('menu','padre'), o.responseXML);
...
},
failure: function (o)
{
alert('Error en la conexion: Code ' + o.status );
}
}
var request = YAHOO.util.Connect.asyncRequest('POST', URL , callback, params );
Si observamos la DIFERENCIA radica en el cuarto parametro (params) usando en la funcion YAHOO.util.Connect.asyncRequest, donde se indican los parametros que deberan ser usandos por el archivo '/services/getSupervisores.php'. Ahora como diria Jack vamos por partes.
Callback
Callback es un objeto que cuenta con al menos dos metodos: failure y success. Estos metodos seran ejecutados de manera automatica por el objeto request, el cual se genera al ejecutarla la conexión a la base de datos. Si observamos ambos metodos reciben el parametro "o", el cual es un objeto HttpRequest, el cual tiene los siguientes campos:
- o.tId, Identificador de la transaccion
- o.status, El codigo de estado http que resulte de la transaccion
- o.statusText, El mensaje asociado con el estado
- o.getResponseHeader[id], el valor de la cadena especificada en el id
- o.getAllResponseHeaders, Todos los codigos de respuesta que genero el HTTP
- o.responseText, Cadena con la respuesta que dio el servidor
- o.responseXML, Codigo XML generado en la respuesta del servidor
- o.argument, Los argumentos definidos en el objeto callback
En nuestro objeto callback, definimos que en caso de que falle la conexión a la BD, genere una alerta que nos indique el codigo de error que se genero. En caso de que la conexión sea exitosa recuperamos los datos con la funcion explodeXML previamente vista.