el codigo que tengo es dos archivos ajax.js y tree.js
ajax.js
Código javascript:
tree.jsVer original
var Ajax = new Object(); Ajax.showMessage=1; Ajax.Message=''; Ajax.Request = function(url, callbackMethod) { Page.getPageCenterX(); Ajax.request = Ajax.createRequestObject(); Ajax.request.onreadystatechange = callbackMethod; Ajax.request.open("POST", url, true); Ajax.request.send(url); } Ajax.setMessage = function (message) { Ajax.Message=message; } Ajax.setShowMessage = function (m) { Ajax.showMessage=m; } Ajax.createRequestObject = function() { var obj; if(window.XMLHttpRequest) { obj = new XMLHttpRequest(); } else if(window.ActiveXObject) { obj = new ActiveXObject("MSXML2.XMLHTTP"); } return obj; } Ajax.CheckReadyState = function(obj) { if ( Ajax.showMessage == 0 ) { document.getElementById('loadingbox').style.display = "none"; } else { document.getElementById('loadingbox').style.display = "block"; } if(obj.readyState < 4) { document.getElementById('loadingbox').style.top = (Page.top + Page.height/2)-100; document.getElementById('loadingbox').style.left = Page.width/2-75; document.getElementById('loadingbox').style.position = "absolute"; document.getElementById('loadingbox').innerHTML = '<table border=0 cellpadding=0 cellspacing=1 width=100 bgcolor="#000000"><tr><td align=center bgcolor="#ffffff" class=loading height="22px" style="font-family:verdana;font-size:10px">Loading..</td></tr></table>'; } if( obj.readyState == 4 ) { if(obj.status == 200) { document.getElementById('loadingbox').innerHTML = "<table border=0 cellpadding=0 cellspacing=1 width=100 bgcolor=#000000><tr><td align=center class=loading bgcolor=#ffffff height='22px' style='font-family:verdana;font-size:10px'>"+Ajax.Message+"</td></tr></table>"; setTimeout('Page.loadOut()',2200); return true; } else { document.getElementById('loadingbox').innerHTML = "HTTP " + obj.status; } } }
Código javascript:
Ver original
var K0=window,Q1=document; function collpase(id,O2) { Q1.getElementById(id).style.display="none"; var str='symbol_'+id.replace(/_/g,''); if (Q1.getElementById(str)) { var mainid=id.replace(/_/g,''); var symbolhref='<span id="symbol_'+mainid+'"><a href="javascript:expand(\''+id+'\','+O2+');" class="nodecls">'+UI.expand+'</a></span>'; Q1.getElementById(str).innerHTML=symbolhref; } } function expandSearch(id,O2) { //loadChild(id,O2); var strParam="services.php?method=getCat&id="+id+"&catid="+O2; Ajax.Request(strParam,generateChildSearch); Q1.getElementById(id).style.display="block"; var str='symbol_'+id.replace(/_/g,''); if(Q1.getElementById(str)) { var mainid=id.replace(/_/g,''); var symbolhref='<span id="symbol_'+mainid+'"><a id="a_'+O2+'" href="javascript:collpase(\''+id+'\','+O2+');" class="nodecls">'+UI.collapse+'</a></span>'; Q1.getElementById(str).innerHTML=symbolhref; } } function generateChildSearch() { Ajax.setShowMessage(1); Ajax.setMessage("Loaded.."); if(Ajax.CheckReadyState(Ajax.request)) { if(Ajax.request.readyState==4){ if(Ajax.request.status==200){ //alert(Ajax.request.responseText); var response=eval('('+Ajax.request.responseText+')'); var str=''; var i=0; if(response.data.length==0) { Q1.getElementById(response.id).style.display="none"; } var mainid=response.id.replace(/_/g,''); for(i=0;i < response.data.length;i++) { str+='<div id="'+mainid+''+i+'" style="padding-left:10px;">'; str+='<span id="symbol_'+mainid+''+i+'"><a id="a_'+response.data[i].id+'" href="javascript:expand(\''+response.id+'_'+i+'\','+response.data[i].id+');" class="nodecls">'+UI.expand+'</a></span>'; str+='<a id="name_'+response.data[i].id+'" style="" href="javascript:getData('+response.data[i].id+');" class="nodecls">'+response.data[i].name+'</a></div>'; str+='<div id="'+response.id+'_'+i+'" style="padding-left:30px;display:none"></div>'; } //alert(response.id); //alert(str); var datoMostrar = Q1.getElementById(response.id); // Q1.getElementById(mainid).innerHTML=str; datoMostrar.innerHTML=str;} } } }
lo que quiero es que la funcion generateChildSearch() tome las variables que dije de los codigos para lanzar por ajax el envio de parametros lo he logrado el problema es que en esta funcion generateChildSearch() no puedo ejecutar esa lista de peticiones, verificar cuando el status de la peticion es 200 y asi enviar la proxima peticion les agradezco cualquier ayuda gracias.