Hola espero que me puedan ayudar con mi problema, es el siguiente, a traves de ajax cambio los valores de un archivo xml, hasta aqui todo va bien pero luego creo una funcion js donde muestro los valores del archivo xml, hasta aqui todo bien, pero lo que no consigo es cuando cambio los valores del archivo xml que la funcion MostrarNombres tambien me los cambie, tendria que hacer una nueva peticion al servidor o algo asin pero no se como crear estas nuevas peticiones cada vez que cambia el archivo xml.
Las funciones que utilizo son estas:
Código Javascript
:
Ver originalvar procesamiento, xml = null, contador=0;
function MostrarRegistro() {
try {
document.getElementById("registro").innerHTML ='<p>'+ xml.getElementsByTagName('seccion')[contador].firstChild.nodeValue+'</p>';
contador ++;
}
catch(e) {
document.getElementById("registro").innerHTML = '';
contador = 0;
}
}
function MostrarNombres() {
var ajax = objetoAjax();
ajax.open('get','archivo.xml');
ajax.onreadystatechange = function() {
if(ajax.readyState == 4){
if(ajax.status == 200) {
xml=ajax.responseXML;
if(xml.getElementsByTagName('seccion').length > 0)
procesamiento = window.setInterval(MostrarRegistro, 4000);
}
}
}
ajax.send(null);
}
function objetoAjax() {
if (window.XMLHttpRequest)
_ajax = new XMLHttpRequest();
else
if (window.ActiveXObject)
_ajax = new ActiveXObject("Microsoft.XMLHTTP");
else
_ajax = false;
return _ajax;
}
window.onload=MostrarNombres();
function pedir(dato) {
Ajax = objetoAjax();
Ajax.open("get","recuperar.php?seccion=" + dato, true);
Ajax.onreadystatechange = function() {
if (Ajax.readyState == 4 && (Ajax.status == 200 || Ajax.status == 501)){
document.getElementById('recuperar_datos').innerHTML=Ajax.responseText;
}
}
Ajax.send(null);
}
y en el script donde tengo que mostrar los datos de la funcion MostrarNombres tengo un select con el evento onchange y la funcion pedir(), hasta aqui es lo que me funciona bien, osea que el xml me lo cambia segun la opcion que elija en el select.
seria algo asin:
Código PHP:
Ver original<head>
<script type="text/javascript" language="javascript" src="funciones.js"></script>
</head>
<body>
<form method="get">
<select name="seccion" id="seccion" onchange="pedir(document.getElementById('seccion').value)">
...
</select>
</form>
<div id="recuperar_datos"></div>
<div id="registro"></div>
y en el script recuperar.php creo el xml que me cambiara de forma asincronica, en resumen, yo quiero que cuando cambie de forma asincronica el archivo xml, la funcion MostrarNombres que me carga en pantalla actualice sus valores tambien de forma asincronica.
Espero que se me entienda esto y me puedan ayudar a entender como hacerlo, saludos.