Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

XAJAX and SetTimeout

  • Autor de tema Autor de tema Uhiho
  • Fecha de inicio Fecha de inicio

Uhiho

Bovino maduro
Desde
20 Nov 2007
Mensajes
369
Hola, muy buenas noches.

Alguno de ustedes, ha utilizado AJAX y la función setTimeout de JavaScript?

Lo que quiero hacer es que, cierta función que hago con XAJAX la realice cada cierto tiempo, para que el contenido se actualize "con XAJAX" cada ese cierto tiempo.

Lo que hago es utilizar xajax de la siguiente manera:

Código:
<?
require_once("xajax_core/xajax.inc.php");
include("obtainImageNow.php");
$xajaxObject = new xajax();
function myFunction($args) {
    $objectResponse = new xajaxResponse();
    $objectResponse->assign("SomeElementId", "innerHTML", "<img src=\"".obtainImageNow()."\" />");
    
    return $objectResponse;
}
$xajaxObject->registerFunction("myFunction");
$xajaxObject->processRequest();
?>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Titulo de la pagina</title>
<?
$xajaxObject->printJavaScript();
?>
</head>

<body class="bgimage">
<script type="text/javascript" language="javascript">
setTimeout(xajax_myFunction, 500);
</script>
<div id="SomeElementId"></div>

El archivo obtainImageNow manda la cadena de la imagen a mostrar.

Cuando cargo la página, me aparece la imagen, pero no se actualiza cuando cambia en la base de datos, excépto si reinicio la página.
 
Solucionado. Llamo a settimeout dentro de XAJAX en vez de fuera.

function myFunction() {
$objectResponse = new xajaxResponse();
$objectResponse->assign("SomeElementId", "innerHTML", "<img src=\"".obtainImageNow()."\" />");
$objectResponse->call('setTimeout','xajax_myFunction();','500');
return $objectResponse;
}

Gracias, Saludos!
 
Volver
Arriba