Yo tengo por un lado las funciones que hacen la conexion y eso:
Código:
function inicializa_xhr() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
var READY_STATE_COMPLETE = 4;
var peticion_http = null;
function realizarSolicitudAjax(rutaFichero,parametros,funcionAEjecutar) {
peticion_http = inicializa_xhr();
if(peticion_http) {
peticion_http.onreadystatechange = function(){ procesarRespuestaAjax(funcionAEjecutar);};
peticion_http.open("POST", rutaFichero, true);
peticion_http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
peticion_http.send(parametros+"&nocache="+Math.random());
}
}
function procesarRespuestaAjax(funcionAEjecutar) {
if(peticion_http.readyState == READY_STATE_COMPLETE) {
if (peticion_http.status == 200) {
funcionAEjecutar();
}
}
}
Y luego desde javascript llamo a realizarSolicitudAjax con la funcion que quiero que procese la respuesta de la petición