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

actualizar respuesta

Estas en el tema de actualizar respuesta en el foro de Frameworks JS en Foros del Web. Hola, bueno ya pude resolver el problema de mostrar el div flotante de datos y pasarlos a un formulario, pero ahora tengo otro problema relacionado ...
  #1 (permalink)  
Antiguo 10/09/2009, 11:14
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
actualizar respuesta

Hola, bueno ya pude resolver el problema de mostrar el div flotante de datos y pasarlos a un formulario, pero ahora tengo otro problema relacionado a esto.

Este div flotante carga registros de una BD (estos registros son de clientes) . Pongo el ejemplo si es que no hubiera ningun registro de clientes en la BD , entonces el div flotante no mostraria nada . Pero cuando registro un cliente y luego abro denuevo ese div ... aun no me muestra nada .... imprimo el query y esta correcto.

Pero ocurre algo curioso, cuando borro los temporales en el explorador, al volver a revisar el div recien me muestra el dato registrado.... es como si la primera busqueda que cargo en el div se quedara en memoria y no se como resolver esto....

Lo unico que hago por en ajax es pasar una variable de sesion por GET con esta variable hago la busqueda de todos los clientes en otro script

Código PHP:
<button name="btn_mostrar" type="button" onClick="muestra_load(); <?php echo 'PacxClinica(\'envia_paciente_clinica.php?campo1='.$clinica.'\',\'loader\',\'\',\'get\')'?>" >
Código:
function PacxClinica (url,capa,valores,metodo)
{
   var ajax=nuevoAjax();
   var capaContenedora = document.getElementById(capa);

/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
 if(metodo.toUpperCase()=='POST'){
        document.write="hola pepe";
    ajax.open ('POST', url, true);
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
                 capaContenedora.innerHTML="Cargando.......";
         }
         else if (ajax.readyState==4){
            if(ajax.status==200)
            {
                 document.getElementById(capa).innerHTML=ajax.responseText; 
            }
            else if(ajax.status==404)
                 {

                     capaContenedora.innerHTML = "La direccion existe";
                 }
             else
                 {
                     capaContenedora.innerHTML = "Error: ".ajax.status;
                 }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
    return;
}
/*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
if (metodo.toUpperCase()=='GET'){
	
    ajax.open ('GET', url, true);
    ajax.onreadystatechange = function() {
         if (ajax.readyState==1) {
                 capaContenedora.innerHTML='<img src="images/sending.gif" width="16" height="16" align="absmiddle">';
         }
         else if (ajax.readyState==4){
			 document.getElementById(capa).innerHTML=ajax.responseText;
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(null);
    return
}
}
y en la pagina envia_paciente_clinica.php hago el query y muestro el contenido que se vera en el div flotante... como resolveria esto? refrescar cada vez que envio el dato?
__________________
Quitenme la vida pero no la bebida.
  #2 (permalink)  
Antiguo 10/09/2009, 12:19
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: actualizar respuesta

A bueno ya lo resolvi... el problema es que la respuesta se me quedaba en cache , tuve que ponerle esta cabecera en mi script del servidor :

Código PHP:

header
("Cache-Control: no-store, no-cache, must-revalidate"); 
__________________
Quitenme la vida pero no la bebida.
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:34.