Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2007, 14:05
Dcinex
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 3 meses
Puntos: 2
Obtener una variable seteada con XAJAX

Hola, mi problema es el siguiente...

Uso PHP, y tengo una funcion que se ejecuta al hacer click en un link... Esta funcion esta escrita en PHP y el gestor de AJAX que uso es XAJAX... La funcion es check_if_logged(), y basicamente es:
Código PHP:
if($user->logged()) 
$objResponse->addScript("var x = 1;");
else
$objResponse->addScript("var x = 0;");
return 
$objResponse
Bien, esta funcion la llamo desde mi sitio HTML:
Código HTML:
<script>
function check(){
xajax_check_if_logged();
if(x==1) {
return true;
} else {
alert('Debes estar logueado');
return false;
}
}
</script>
<a href="download.php?f_id={file_id}" onclick="return check();">Descarga</a> 
Bien, la idea es esta: Tengo un formulario de login que funciona con AJAX, el usuario se loguea sin tener que recargar la pagina. EN una seccion de descargas p.ej., quiero que la funcion check() se ejecute al pulsar sobre el link de descarga, y dependiendo del valor de la variable x que me devuelva un alert o que siga el link. Si el usuario ingreso a la pagina donde se encuentra el link sin loguearse, y pulsa en boton ded descarga, le sale el alert, entonces se loguea (con AJAX), y ahora la funcion check() debe devolver true.

El problema es que siempre me devuelve false en el primer intento (En el primer click despues de loguearse), y despues recien devuelve el true, por qué? Lo mismo pasa al salir, que tambien es con AJAX. CIerra sesion, pero aun asi puiede presionar el link de descargas una vez mas, y despues recien se desactiva...

Se me ocurrio pensar que la variable x se setea una vez que todo el javascript se ha ejecutado, y.... buenmo espero que se me haya entendido y que me puedan ayudar....

:)