La verda es que me es difícil seguir el hilo y al final no nos dices cómo estás pasando el parámetro.
Aquí te pongo un ejemplo que me funciona:
Código:
/*
crea un objeto HttpRequest
*/
function createRequest()
{
// no implementada, simplemente debe crear
// el objeto según el navegador que se use
}
/*
manda una petición HTTP via ajax
recibe una función "callback" que se llamará en cuanto se
tenga respuesta. La función callback recibe como parámetro
al objeto HTTPRequest.
*/
peticionHttp(url, callBack)
{
// creamos el objeto HTTPRequest
request = createRequest();
// le asignamos el manejador de eventos
request.onreadystatechange = function()
{
// si todo está bien y muy bien...
if (request.readyState == 4 && request.status == 200)
{
// llamamos de vuelta
eval(callBack + '(request)');
}
}
// enviamos la petición
request.open('get', url, true);
request.send();
}
Un ejemplo de uso:
Código:
/*
ejemplo simplón de callback.
simplemente muestra la respuesta de la petición
*/
function procesaRespuesta(request)
{
alert(request.responseText);
}
/*
Lanzamos la petición
*/
peticionHttp('http://servidor/pagina.php', 'procesaRespuesta');
// Saludos