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

Ayuda con responseText

Estas en el tema de Ayuda con responseText en el foro de Frameworks JS en Foros del Web. Pues miren resulta que ya llevo dos dias intentando hacer funcionar lo siguiente: Lo que quiero hacer es que la variable se actualize, automaticamente pero ...
  #1 (permalink)  
Antiguo 16/04/2009, 18:56
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Ayuda con responseText

Pues miren resulta que ya llevo dos dias intentando hacer funcionar lo siguiente:

Lo que quiero hacer es que la variable se actualize, automaticamente pero el problema es que no logro que este codigo me devuelva el valor de responsetext, si quieren lo cambio a xml lo unico que kiero es k cuando cambie el valor este me lo de en una variable miren:

var agua;
var sol;
function recargar() {
sol = new XMLHttpRequest();
sol.open('GET','pagina.m.txt', true);
sol.send(null);
if(sol.readyState == 4)
{
alert(sol.responseText); //De lugar de alert quiero que sea agua=sol.responseText;
}

//pero si ago esto si funciona

var agua;
var sol;
function recargar() {
alert("1");
sol = new XMLHttpRequest();
alert("2");
sol.open('GET','pagina.m.txt', true);
alert("3");
sol.send(null);
alert("4");
if(sol.readyState == 4)
{
alert(sol.responseText); //De lugar de alert quiero que sea agua=sol.responseText;
}

algo asi y que la variable agua pueda obtener el valor en otra funcion

Última edición por humberto121; 16/04/2009 a las 19:05
  #2 (permalink)  
Antiguo 16/04/2009, 20:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con responseText

El problema es que estás haciendo una petición asíncrona, por lo que el flujo del código sigue sin esperar a que se haga la petición. Puedes solucionarlo asignando una función de escucha al evento onreadystatechange del objeto XMLHttpRequest:
Código javascript:
Ver original
  1. var agua;
  2. var sol;
  3. function recargar() {
  4.     sol = new XMLHttpRequest();
  5.     sol.onreadystatechange = function() {
  6.         if(sol.readyState == 4) {
  7.             alert(sol.responseText); //De lugar de alert quiero que sea agua=sol.responseText;
  8.         }
  9.     }
  10.     sol.open('GET','pagina.m.txt', true);
  11.     sol.send(null);
  12. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 14:38.