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

Ambito de Variables

Estas en el tema de Ambito de Variables en el foro de Frameworks JS en Foros del Web. Buenas!!! Tengo el siguiente codigo en javascript Código: var myData; function colocarDatos() { divResultado = document.getElementById('resultado'); peticion_http.open("GET", "consulta.php"); peticion_http.onreadystatechange=function() { if (peticion_http.readyState==4) { myData = ...
  #1 (permalink)  
Antiguo 19/03/2010, 20:41
 
Fecha de Ingreso: marzo-2010
Mensajes: 51
Antigüedad: 14 años, 8 meses
Puntos: 0
Ambito de Variables

Buenas!!!

Tengo el siguiente codigo en javascript
Código:
 
var myData;
 function colocarDatos()
	{
		divResultado = document.getElementById('resultado');
		peticion_http.open("GET", "consulta.php");
		peticion_http.onreadystatechange=function() {
		if (peticion_http.readyState==4) {
			 myData =  eval("("+peticion_http.responseText+")");
			 alert(myData);
			}
			}
		peticion_http.send(null);
	}
 colocarDatos();
    alert(myData);
Adentro del onreadystate change me genera que mydata es un object pero afuera me lo genera como undefined, que estoy haciendo mal?
  #2 (permalink)  
Antiguo 19/03/2010, 23:51
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Ambito de Variables

Hola:

Bueno, la variable parece que hasta que se hace la petición no está difinida (aunque esté declarada)... podrías declararlo como un opbejeto...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 19/03/2010, 23:51
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Tema movido desde javascript
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 20/03/2010, 07:02
 
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Ambito de Variables

Has diseñado mal lo que quieres hacer... El colocarDatos() y alert(myData) van dentro de la funcion que se llama cuando recibes la respuesta...
  #5 (permalink)  
Antiguo 20/03/2010, 14:36
 
Fecha de Ingreso: marzo-2010
Mensajes: 51
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ambito de Variables

A caricatos le puedo decir que como javascript no es tipado no tiene nada que ver al hacer la asignación debería de haber cambiado el tipo, a Gaglekas, no entiendo lo que me dice se suipone que la respuesta la recibo dentro del eveneto onreadystatechangee pero esta esta dentro de colocarDatos() y lo que necesito es que esta variable global mantenga el valor que le asigno en esta parte, no entiendo que es lo que hago mal, o si alguien sabe de alguna forma de pasar un array de php a una variable global de javascript lo agradeceria...
  #6 (permalink)  
Antiguo 20/03/2010, 17:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Ambito de Variables

Hola:

No creo que hayas entendido las respuestas... cuando un valor depende de un evento, en este caso una petición Ajax, pues hasta que no se produzca ese evento no cambia su valor, así que si consultas el valor antes de producirse el evento, tendrá su valor anterior... evidentemente será undefined, aunque pienso que si lo hubieses definido como Object() podría devolver el valor Object... nada más...

La respuesta al evento, evidentemente modifica el valor.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 20/03/2010, 18:23
 
Fecha de Ingreso: marzo-2010
Mensajes: 51
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ambito de Variables

Te agradezco Caricatos, eso hace pocos minutos lo habia entendido... pero, ahora tengo otro problema y es que no se como hacer para pasar un array desde php hacia javscript con json, es un array de dos dimensiones y lo intento hacer con json pero no he podido..
  #8 (permalink)  
Antiguo 20/03/2010, 19:59
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 6 meses
Puntos: 839
Respuesta: Ambito de Variables

Puedes usar json_encode para el efecto.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 20/03/2010, 20:01
 
Fecha de Ingreso: marzo-2010
Mensajes: 51
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ambito de Variables

Si y lo hago solo que, en el javascript el array no tiene el formato que tiene en el php, no tienes algun ejemplo de json_encode con arrays multidimensionales?

Etiquetas: ambito, json
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 13:45.