Soy nuevo en el mundo de ajax, me surgio la duda de que es mejor usar (en cuanto a rapidez y eficiencia) prototype o el objeto xmlhttp de ajax para cargar contenido en un div de forma dinámica. Uso lo siguiente:
en prototype:
Código Javascript:
Ver original
<script type="text/javascript" src="javascript/prototype.js"></script> <script type="text/javascript"> function buscar(){ var url = "filtrar.php"; var pars = "busqueda="+$F('search')+"&j_campo="+$F('_filtrar')+"&estado="+$F('estado'); var myAjax = new Ajax.Updater( "resultados", url, { method: "post", parameters: pars, evalScripts: true }); } </script>
Con el objeto xmlhttp:
Código Javascript:
Ver original
function objetoAjax(){ var xmlhttp=false; try { xmlhttp = new ActiveXObject('MSXML2.XMLHTTP.3.0'); } catch (e) { try { xmlhttp = new ActiveXObject('MSXML2.XMLHTTP.3.0'); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function buscar(){ var n=document.getElementById('search').value; var campo=document.getElementById('_filtrar').value; var estado=document.getElementById('estado').value; divResultado = document.getElementById('resultados'); if(n==''){ divResultado.innerHTML=""; return; } var ajax=objetoAjax(); ajax.open("POST", "filtrar.php",true); ajax.onreadystatechange=function() { if (ajax.readyState==4) { if(ajax.status==200) divResultado.innerHTML = ajax.responseText; }else { var cargando="<center><img width='20' height='20' style='vertical-align:sub' src='imagenes/loading.gif'/><span class='form'>Cargando...</span></center>"; document.getElementById("resultados").innerHTML = cargando; } } ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); ajax.send("busqueda="+n+"&j_campo="+campo+"&estado="+estado); }