Foros del Web » Programando para Internet » Javascript »

Actualizacion de las variables

Estas en el tema de Actualizacion de las variables en el foro de Javascript en Foros del Web. Buenos dias, estoy empezando con ajax, y aplicandole a una pequeña pagina web con la que me entretengo, he probado a mediante un boton modificar ...
  #1 (permalink)  
Antiguo 09/02/2011, 16:51
 
Fecha de Ingreso: enero-2010
Mensajes: 97
Antigüedad: 14 años, 9 meses
Puntos: 3
Actualizacion de las variables

Buenos dias, estoy empezando con ajax, y aplicandole a una pequeña pagina web con la que me entretengo, he probado a mediante un boton modificar una variable: $_SESSION[nombre], el problema surje que en la parte de la web donde hago un echo $_SESSION[nombre]; no se me "actualiza" ya que esa sentencia ya se ha ejecutado y se me muestra el valor anterior, me gustaria saber si hay alguna manera de actualizar esa sentencia sin tener que actualizar toda la pagina. gracias
  #2 (permalink)  
Antiguo 09/02/2011, 17:05
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 16 años, 3 meses
Puntos: 103
Respuesta: Actualizacion de las variables

tal vez en vez de hacer un echo a $_SESSION[nombre]; le haces a lo que le asignaste a esa variable. ya que lo asignaste en la misma pagina sabes cual es...
  #3 (permalink)  
Antiguo 09/02/2011, 17:33
 
Fecha de Ingreso: enero-2010
Mensajes: 97
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: Actualizacion de las variables

si haber creo que no me explicado bien, yo en esa variable tengo asignado (cuando se carga la pagina) reone. al darle al boton ejecuto una funcion javascript llamada MostrarDatos:
----
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

function MostrarConsulta(datos){
divResultado = document.getElementById('resultado');
ajax=objetoAjax();
ajax.open("GET", datos);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
divResultado.innerHTML = ajax.responseText
}
}
ajax.send(null)
}
---
y en el documento llamado cambiarNombre.php, el cual paso como variable a la funcion (datos) tiene este codigo:
<?php session_start();

$_SESSION[nombre] = "nombre2";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!--
imagen favicon
-->
<link rel="shortcut icon" href="/imagenes/favicon.ico" >
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Apocalip - En construcción</title>
</head>
<body>
</body>
</html>

y funciona perfectamente, la variable si se cambia, porque al actualizar la pagina entera( la que contiene las funciones javascript, el boton que la llama, y una sentencia echo $_SESSION[nombre];) si tiene el nuevo nombre, el problema esque el echo, se ha ejecutado antes que la funcion que cambia el nombre, por lo que se muestra el nombre viejo: reone, en vez de el nuevo valor de la variable: nombre2.

Unicamente se muestra el nuevo nombre al actualizar la pagina, y yo quiero que se muestre el nuevo nombre, en el momento en el que se ejecuta la funcion, no al tener que actualizar
  #4 (permalink)  
Antiguo 10/02/2011, 09:34
 
Fecha de Ingreso: enero-2010
Mensajes: 97
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: Actualizacion de las variables

bueno e probado a que depues de ejecutarse ajax.send(null) se hiciese un locatio.reload(), pero a veces me funciona y aveces no... alguien puede decirme algun truquillo para que segun se cambia la variable $_SESSION[nombre], en el lugar donde esta se muestra tambien se cambie asincronamente?

Etiquetas: variables, actualizaciones
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 18:39.