Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ajax no siempre funciona

Estas en el tema de Ajax no siempre funciona en el foro de Frameworks JS en Foros del Web. Estoy combinando Php, bases de datos Mysql y de paso, para hacerlo más interactivo Ajax. El problema es el siguiente: Solicito datos desde una página ...
  #1 (permalink)  
Antiguo 17/12/2010, 20:03
(Desactivado)
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 471
Antigüedad: 18 años, 11 meses
Puntos: 45
Busqueda Ajax no siempre funciona

Estoy combinando Php, bases de datos Mysql y de paso, para hacerlo más interactivo Ajax. El problema es el siguiente: Solicito datos desde una página x a otra página y mediante ajax que solicita datos a la base de datos y no siempre funciona.

Es curioso, porque si se da la condición de que la url actual es index.php?id=4 ó index.php?id=3 si que envia y recibe datos correctamente, pero si el id es 1 o 2 no es capaz de recibir.

Aclaro que el código php es el mismo, esto es, no hay includes ni nada por el estilo que alteren el código, lo único que cambia según la id es el LIMIT de la consulta a la base de datos.

No comprendo porque sucede esto, ¿Hay alguna limitación con respecto a esta tecnología?

Ni idea, que alguien me aclare algo. No expongo el código ya que es muy largo.
  #2 (permalink)  
Antiguo 17/12/2010, 20:12
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Ajax no siempre funciona

me parece que se debe a la caché del navegador, por el cual el navegador al notar que la petición está cacheada, pues no la envía y devuelve la información cacheada.

¿como se resuelve?, simple: deshabilitando los encabezados HTTP al respecto en el servidor, en php por ejemplo:

Código PHP:
Ver original
  1. header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );  // disable IE caching
  2. header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
  3. header( "Cache-Control: no-cache, must-revalidate" );
  4. header( "Pragma: no-cache" );
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 17/12/2010, 20:49
(Desactivado)
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 471
Antigüedad: 18 años, 11 meses
Puntos: 45
Respuesta: Ajax no siempre funciona

He añadido:

Código PHP:
header("Cache-Control: no-cache, must-revalidate");
header"Pragma: no-cache" ); 
En todas las páginas php

y de paso
Código HTML:
Ver original
  1. <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
  2. <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">

Y sigue funcionando solo en los casos mencionados.
  #4 (permalink)  
Antiguo 18/12/2010, 04:21
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Ajax no siempre funciona

Hola:

Cuando me falla algo con Ajax, suelo probar el funcionamiento sin usarlo... por ejemplo, si es una petición get, en vez de una instrucción Ajax.send(), uso un open(url). No vaya a ser que no fabricas bien esa url

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 18/12/2010, 14:32
(Desactivado)
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 471
Antigüedad: 18 años, 11 meses
Puntos: 45
Respuesta: Ajax no siempre funciona

Ya he solucionado el error. Se trataba del siguiente código, independiente de las funciones de Ajax, pero que intercedía a la hora de compilar. Me he dado cuenta cuando, a probar el sitio web en Internet Explorer me daba mensaje de error en una de las líneas que expongo:

de la línea 149 a la 154
Código Javascript:
Ver original
  1. function variableurl(number){
  2. variableidrank = <?echo $_GET['idrank']?>;
  3. if(variableidrank){
  4. variableglobal = "idrank=<?echo $_GET['idrank']?>";
  5. }
  6. }

Ya veré como almacenar una variable php en javascript. Eso es otro tema. Puede que la variable php deba escaparla...

Etiquetas: ajax, siempre
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 03:57.