Ver Mensaje Individual
  #15 (permalink)  
Antiguo 03/01/2008, 08:30
Avatar de Myakire
Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Ajax + ASP, caso muy extraño, Help please

Ok, veamos entonces con un ejemplo:

Este es un código que seguro ya tienes ya que se encuentra en miles de sitios:

Código:
<html>
<head>
<script>
var xmlHttp

function showHint(str)
{
if (str.length==0)
  { 
  document.getElementById("txtHint").innerHTML="";
  return;
  }
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="getInfo.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} 

function stateChanged() 
{ 
if (xmlHttp.readyState==4)
{ 
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
</script> 
</head>
<body>

<form> 
First Name:
<input type="text" id="txt1"
onkeyup="showHint(this.value)">
</form>

<p>Suggestions: <span id="txtHint"></span></p> 

</body>
</html>
Como puedes ver, no tiene ni pizca de programación del lado del servidor, todo es html y javascript, de hecho el archivo puede ser extensión .html. El asunto es donde haces el xmlHttp.open, ahí es donde especificas un archivo que se invocará en el servidor, en este caso getInfo.asp, ese archivo ASP es un archivo que hace lo que quieras mandar a la capa que quieras actualizar mediante ajax. En este caso tendría una conexión a una BD, un select a un query haciendo un like a un campo buscando la cadena que se recibe de parámetro (en este caso se llama simplemente "q": url=url+"?q="+str;).

El chiste de esto es no perder de vista que vas a cambiar el contenido de un elemento (normalmente un div) con algo que ese archivo ASP/PHP/JSP/.NET/CGI/etc,etc le envíe.

Supongo que en el foro de Ajax habrá muchos ejemplos, ¿no sería mejor que postearas por ella la duda específica? o si lo deseas puedes postear los errores específicos que haz tenido al probar los ejemplos que dices que no funcionan.

Saludos