Tengo el siguiente código:
Que recibe un parametro action para discriminar la accion que mandare por url a un servlet, divId parametro que es la etiqueta donde voy a pintar lo devuelto, select dentro de la etiqueta es un parametro que me indica el nombre del combo donde voy a pintar lo devuelto ya que seran etiquetas <option... .../option>
function useHttpRequestHTML(action,divId,select){
dataSource = "/proyecto/ConstruyeQuery?";
select = "<select name='"+select+"\' tabindex='1' style='width=180px'>";
myRand = parseInt(Math.random()*9999999999999999);
if(action=='AFL'){
alert(divId);
dataSource = dataSource +"A="+action+"&rand="+myRand;
}else if(action=='AWCL'){
alert(divId);
dataSource = dataSource +"A="+action+"&rand="+myRand;
}
if(http){
var obj = document.getElementById(divId);
http.open("GET",dataSource);
}
http.onreadystatechange = function(){
if(http.readyState == 4 && http.status == 200){
obj.innerHTML = select + http.responseText + "</select>";
alert(obj.innerHTML);
}else{
alert("Ha ocurrido un error: "+ http.status);
}
}
http.send(null);
}
El problema es que con los alert que tengo cometados el codigo funciona y me devuelve bien el texto, pero sin ellos no me devuelve texto. Parece que necesita terminar la primera antes de empezar con la segunda pero no estoy seguro, ademas esto no era asincrono??
A la funcion la llamo 2 veces mientras carga la página una vez despues de pintar la etiqueta con su combo correspondiente