Foros del Web » Programando para Internet » ASP Clásico »

Ajax + ASP, caso muy extraño, Help please

Estas en el tema de Ajax + ASP, caso muy extraño, Help please en el foro de ASP Clásico en Foros del Web. Explicaré el caso lo más claro posible. Programo en ASP y en la fase de login de usuarios utilizo AJAX con el objeto ActiveXObject("Msxml2.XMLHTTP"). Bien, ...
  #1 (permalink)  
Antiguo 12/06/2007, 18:50
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 20 años, 4 meses
Puntos: 1
Ajax + ASP, caso muy extraño, Help please

Explicaré el caso lo más claro posible.

Programo en ASP y en la fase de login de usuarios utilizo AJAX con el objeto ActiveXObject("Msxml2.XMLHTTP").

Bien, pues lo utilizo en muchas partes de mi web llamando a distintas funciones .asp y siempre Ok excepto cuando intento que ejecute el siguiente código:

Código:
session("login") = request.querystring("usuario")
response.write(request.querystring("usuario"))
que se encuentra en el archivo "code.asp" que llamo desde AJAX correctamente:

Código:
http_request.open('GET', url, true);
también implemento:

Código:
alert(ttp_request.responseText);
siendo url = "code.asp?usuario=xxx"

Ahora viene lo más raro de todo. La primera vez que ejecuto el código desde un formulario normal, funciona correctamente, es decir la variable de session "login" recoge el valor de "usuario" y me sale un alert con la palabra "ok". Pero si elimino la variable de session "login" y ejecuto de nuevo el código, sólo me sale el alert con el valor de "usuario" pero la variable de session "login" no recoge el valor de "usuario".
Hago lo del alert, para asegurarme que entra, lo que no entiendo es porqué se salta el codigo en que asigno el valor de la variable de session.

También comentar que si borro el caché del explorador, entonces sí me vuelve a funcionar correctamente la primera vez.

¿Alguien puede explicarme qué sucede?

muchas gracias de antemano

P.D. Acabo de descubrir ahora mismo que sólo da el error con IEXPLORER, con MOZILLA funciona perfectamente todas las veces (espero que esto de alguna pista) gracias de nuevo

Última edición por dblanco; 12/06/2007 a las 18:54 Razón: postdata
  #2 (permalink)  
Antiguo 12/06/2007, 19:21
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 20 años, 4 meses
Puntos: 1
Re: Ajax + ASP, caso muy extraño, Help please

weno, siguiendo mi propia lógica deductiva he paliado los efectos añadiendo en la página destino
Código:
<% Response.Expires = 0 %>
con lo cual no se guarda la página en caché y funciona siempre.

Ahora esto es una cutrada, me gustaría saber dónde radica el problema en lugar de trampear una solución.

Sigo esperando ayuda, gracias.
  #3 (permalink)  
Antiguo 12/06/2007, 21:08
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Re: Ajax + ASP, caso muy extraño, Help please

Tu solo llegaste a la conclusion tu unico problema es de cache...felicidades!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 12/06/2007, 22:29
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 2 meses
Puntos: 88
Re: Ajax + ASP, caso muy extraño, Help please

necesitamos mas eruditos de esta indole
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #5 (permalink)  
Antiguo 13/06/2007, 05:45
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 20 años, 4 meses
Puntos: 1
Re: Ajax + ASP, caso muy extraño, Help please

muchas gracias por vuestros comentarios, amiguetes, me siento muy honrado.

No obstante mi ilusión sería comprender la lógica del Iexplorer (si es que la tiene) ... por desgracia todavía está muy extendido y es necesario adaptar código sin parar por parte de los desarrolladores para que haga lo que cualquier otro navegador que implementa los estándares.

Saludos a todos ;)
  #6 (permalink)  
Antiguo 13/06/2007, 05:55
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 4 meses
Puntos: 7
Re: Ajax + ASP, caso muy extraño, Help please

Esperate a pelearte con las hojas de estilo. El muy... del IE. Es pa matar a los que lo diseñaron.
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #7 (permalink)  
Antiguo 13/06/2007, 10:10
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Ajax + ASP, caso muy extraño, Help please

Cita:
No obstante mi ilusión sería comprender la lógica del Iexplorer (si es que la tiene) ... por desgracia todavía está muy extendido y es necesario adaptar código sin parar por parte de los desarrolladores para que haga lo que cualquier otro navegador que implementa los estándares.
Es independiente al browser que uses el hecho que debes de procurar evitar el caché si tu página necesita mostrar siempre los cambios, yo tengo la costumbre de agregar un include, casi por inercia que lo haga con lineas como:

Código:
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "cache-control","private" 
Response.CacheControl = "no-cache"
Saludos!
  #8 (permalink)  
Antiguo 13/06/2007, 11:05
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Re: Ajax + ASP, caso muy extraño, Help please

Cita:
Iniciado por tammander Ver Mensaje
Esperate a pelearte con las hojas de estilo. El muy... del IE. Es pa matar a los que lo diseñaron.
Bueno, para su defensa IE7 ya es mas aproximado a los estándares y puedes forzar que IE6 se comporte estándar, pero sí, efectivamente es frustrante en ocasiones.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 13/06/2007, 14:51
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Re: Ajax + ASP, caso muy extraño, Help please

Hola, yo solucioné el problema de la cache en IE de la siguiente manera:

Código:
http_request.open('GET', url + "&rand=" + Math.random(), true);
Ahora no encuentro el artículo donde lo leí, pero decía que era preferible hacer eso que "tocar" la cache. Otra solución que daba, aunque tal vez en ocasiones no se pueda usar, era hacer uso del método POST en vez de GET.

Saludos
  #10 (permalink)  
Antiguo 13/06/2007, 15:07
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 20 años, 4 meses
Puntos: 1
Re: Ajax + ASP, caso muy extraño, Help please

si señor, así también funciona ;)

y esto me recuerda a una situación extremadamente extraña que tuve también utilizando este objeto en el cual pasaba una única variable y no sé porque demonios no pillaba el valor correctamente cuando este se encontraba entre 1000 y 9999, no me expliquéis porqué si era menor o mayor que eso funcionaba. Entonces se me ocurrió añadir otra variable totalmente inservible como "dummy" con cualquier valor detrás de dicha variable. Increiblemente entonces me pillaba los valores de 4 dígitos.

En fin, este como digo si fue un caso extraordinariomente extraño.

saludos
  #11 (permalink)  
Antiguo 01/01/2008, 22:27
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 10 meses
Puntos: 1
Re: Ajax + ASP, caso muy extraño, Help please

sori, pero seria bueno ya que no hay casi nada sobre ajax en asp que pusieras el codigo para que aquellos que queremos empesar con eso podamos ir aprendiendo y probando.
gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #12 (permalink)  
Antiguo 02/01/2008, 14:58
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 6 meses
Puntos: 16
Re: Ajax + ASP, caso muy extraño, Help please

Cita:
Iniciado por virla Ver Mensaje
sori, pero seria bueno ya que no hay casi nada sobre ajax en asp que pusieras el codigo para que aquellos que queremos empesar con eso podamos ir aprendiendo y probando.
gracias
es que la verdad la forma de trabajar de ajax es independiente de ASP u otro lenguaje del lado del servidor, es decir, ajax es si trabaja de una determinada manera y lo unico que hace es esperar resultados de una ejecución de una determinada pagina en el servidor, lo que quiero decir es que leyendo un manual de ajax uno es capaz de aplicar ajax de la mano de cualquier lenguaje. Yo me lei un libro bastante bueno sobre ajax (www.librosweb.es) hace unas semanas y asi aprendi lo poco que se y "jugando con codigo" (como le digo yo) se aprende.

Saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #13 (permalink)  
Antiguo 02/01/2008, 15:32
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Re: Ajax + ASP, caso muy extraño, Help please

Cita:
Iniciado por El_Metallick Ver Mensaje
es que la verdad la forma de trabajar de ajax es independiente de ASP u otro lenguaje del lado del servidor, es decir, ajax es si trabaja de una determinada manera y lo unico que hace es esperar resultados de una ejecución de una determinada pagina en el servidor, lo que quiero decir es que leyendo un manual de ajax uno es capaz de aplicar ajax de la mano de cualquier lenguaje. Yo me lei un libro bastante bueno sobre ajax (www.librosweb.es) hace unas semanas y asi aprendi lo poco que se y "jugando con codigo" (como le digo yo) se aprende.

Saludos
Exacto, en realidad con lo que se debería de familiarizar es con el código JavaScript, ya sea que se use un framework para la integración de los objetos de AJAX o se use algo personalizado, por la parte de ASP todo es lo mismo con la salvedad de que quizás regreses XML, pero nuevamente, es lo mismo.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #14 (permalink)  
Antiguo 02/01/2008, 20:45
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 10 meses
Puntos: 1
Re: Ajax + ASP, caso muy extraño, Help please

Mira tengo un buen manual que encontre no solo sobre ajax http://www.ajaxya.com.ar/ muy completo, pero e intentado hacer algo con asp pero nada, icluso el tutorial que anda por varias paginas he intentado modificarlo para hacer algo similar y todo mal.
Es por eso que que hice el pedido, cuanto mas codigo fuente hay mas facil se nos hace por ahi entender en especial a los duraznos como yo, jijijijji
gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #15 (permalink)  
Antiguo 03/01/2008, 08:30
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 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
  #16 (permalink)  
Antiguo 03/01/2008, 22:13
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 10 meses
Puntos: 1
Re: Ajax + ASP, caso muy extraño, Help please

Bueno ahi en el codigo veo cosas que no estaban en ninguno que he visto por ahi quizas es que no funcionaban bien. seguire tus consejos pero animo a todos a que pongan mas sobre ajax con asp estandar
gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:09.