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

regresar valor recibido por un $.get

Estas en el tema de regresar valor recibido por un $.get en el foro de Frameworks JS en Foros del Web. Hola, lo que pasa es que estoy haciendo una consulta a un archivo php mediante la funcion $.get, y lo que quiero es que el ...
  #1 (permalink)  
Antiguo 21/06/2012, 00:14
MCF
 
Fecha de Ingreso: marzo-2008
Mensajes: 126
Antigüedad: 16 años
Puntos: 4
regresar valor recibido por un $.get

Hola, lo que pasa es que estoy haciendo una consulta a un archivo php mediante la funcion $.get, y lo que quiero es que el valor que me regrese el php manejarlo con una variable, intenté usando programación orientada a objetos de esta forma:

Código:
function objeto(){

this.num=0;

	this.contar = function (tabla){
		$.get("registro.php",{tab:tabla},function (dato){

			this.num = dato;
		});

	}

	this.getNum = function (){

		return this.num;
	}

}
pero al ejecutar getNum devuelve 0, pero al checar cuanto vale dato si me da el numero correcto, alguien sabe como poder asignar el valor de dato a la variable num??
  #2 (permalink)  
Antiguo 21/06/2012, 00:20
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 9 meses
Puntos: 127
Respuesta: regresar valor recibido por un $.get

Hasta donde yo se, salvo las variables, en un array de datos de $.post, $.get, $.ajax, $.getJSON, etc. las claves van entre comillas

$.get("registro.php",{"tab":tabla},...

POr otro lado, cuando la reasignación falla y dices que dato es correcto, es obvio que sucede porque el callback de AJAX no se está ejecutando y por tanto la variable queda con el valor primitivo (0)
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #3 (permalink)  
Antiguo 21/06/2012, 00:31
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 13 años, 11 meses
Puntos: 154
Respuesta: regresar valor recibido por un $.get

fijate el api de jquery para ajax...http://api.jquery.com/jQuery.get/...estas asignando mal el data...tendria que ser asi

Código Javascript:
Ver original
  1. $.get("registro.php",{tab:"tabla"},function (dato){
  2.  
  3.             this.num = dato;
  4.         });
  #4 (permalink)  
Antiguo 21/06/2012, 00:32
MCF
 
Fecha de Ingreso: marzo-2008
Mensajes: 126
Antigüedad: 16 años
Puntos: 4
Respuesta: regresar valor recibido por un $.get

no sabia eso de las comillas, nunca me habia dado error, pero es mejor no esperar a que ocurra gracias por el dato ;) y de la otra cuestion, pero tipo ya no entendi, yo lo que sabia que era el callback es la comunicación entre el javascript y el archivo en el servidor, corrigeme si estoy mal por favor (que es lo mas probable jaja), pero entonces que puedo hacer ahi??
  #5 (permalink)  
Antiguo 21/06/2012, 00:33
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 9 meses
Puntos: 127
Respuesta: regresar valor recibido por un $.get

Cita:
Iniciado por ipraetoriux Ver Mensaje
fijate el api de jquery para ajax...[url]http://api.jquery.com/jQuery.get/...estas[/url] asignando mal el data...tendria que ser asi

Código Javascript:
Ver original
  1. $.get("registro.php",{tab:"tabla"},function (dato){
  2.  
  3.             this.num = dato;
  4.         });
La asignación se realiza en el orden

clave -> valor

la clave al no ser variable va entre comillas y la variable sin comillas porque al contrario sería un string

Por lo que es al revés de como dices.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #6 (permalink)  
Antiguo 21/06/2012, 00:34
MCF
 
Fecha de Ingreso: marzo-2008
Mensajes: 126
Antigüedad: 16 años
Puntos: 4
Respuesta: regresar valor recibido por un $.get

gracias ipraetoriux acabo de intentarlo asi pero sigue sin asignar el valor :S
  #7 (permalink)  
Antiguo 21/06/2012, 00:42
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 13 años, 11 meses
Puntos: 154
Respuesta: regresar valor recibido por un $.get

...si es verdad, en tabla tendria que ir sin comillas porque es un argumento que recibe de metodo..no me habia dado cuenta de eso..
  #8 (permalink)  
Antiguo 21/06/2012, 00:48
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 9 meses
Puntos: 127
Respuesta: regresar valor recibido por un $.get

Cita:
Iniciado por ipraetoriux Ver Mensaje
has leido el API de jQuery?...[url]http://api.jquery.com/jQuery.get/[/url] luego dime si estoy equivocado...
La API de jQuery utiliza referencias de modelo por cuestiones estéticas, tanto la clave entre comillas como sin comillas envía la petición correctamente, pero en el valor si es una variable ha de ir sin comillas porque es una variable y no un String.

Código PHP:
name "asd";
$.
get("test.php", { "name"nametime"asd" } ); 
Petición:

Cita:
Request URL:http://localhost/folladinga/test.php?name=asd&time=asd
Request Method:GET
Status Code:200 OK
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #9 (permalink)  
Antiguo 21/06/2012, 00:50
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 13 años, 11 meses
Puntos: 154
Respuesta: regresar valor recibido por un $.get

Cita:
Iniciado por dontexplain Ver Mensaje
La API de jQuery utiliza referencias de modelo por cuestiones estéticas, tanto la clave entre comillas como sin comillas envía la petición correctamente, pero en el valor si es una variable ha de ir sin comillas porque es una variable y no un String.

Código PHP:
name "asd";
$.
get("test.php", { "name"nametime"asd" } ); 
Petición:
..si es verdad, en tabla tendria que ir sin comillas porque es un argumento que recibe de metodo..no me habia dado cuenta de eso..
  #10 (permalink)  
Antiguo 21/06/2012, 00:52
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 9 meses
Puntos: 127
Respuesta: regresar valor recibido por un $.get

Cita:
Iniciado por ipraetoriux Ver Mensaje
..si es verdad, en tabla tendria que ir sin comillas porque es un argumento que recibe de metodo..no me habia dado cuenta de eso..
No pasa absolutamente nada, y yo pensaba que la clave tenía que ir obligatoriamente entre comillas

Un saludo.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #11 (permalink)  
Antiguo 21/06/2012, 00:57
MCF
 
Fecha de Ingreso: marzo-2008
Mensajes: 126
Antigüedad: 16 años
Puntos: 4
Respuesta: regresar valor recibido por un $.get

muy bien ahora volviendo a mi pregunta original, me habian dicho que era un problema del callback, hay forma de solucionarlo o como podría realizar la asignacion correctamente?

algo que me di cuenta al ver el api fue que se ejecuta una función totalmente diferente aunque esté en la misma funcion $.get, o me equivoco? entonces no se asigna porque no es la misma variable num que tengo en el objeto "objeto" que en la que hago la asignación en la función del $.get, creen q será eso?
  #12 (permalink)  
Antiguo 21/06/2012, 01:01
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 9 meses
Puntos: 127
Respuesta: regresar valor recibido por un $.get

$.get("registro.php", {"tab": tabla}, function(data, textStatus, xhr) {
n = new Number(data); // opcional
this.num = n;
});
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor
  #13 (permalink)  
Antiguo 21/06/2012, 01:14
MCF
 
Fecha de Ingreso: marzo-2008
Mensajes: 126
Antigüedad: 16 años
Puntos: 4
Respuesta: regresar valor recibido por un $.get

no :S sigue sin querer
  #14 (permalink)  
Antiguo 21/06/2012, 03:16
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 13 años, 11 meses
Puntos: 154
Respuesta: regresar valor recibido por un $.get

veamos que response estas recibiendo desde el PHP....que te arroja console.log(dato) ??? ...
  #15 (permalink)  
Antiguo 21/06/2012, 11:11
MCF
 
Fecha de Ingreso: marzo-2008
Mensajes: 126
Antigüedad: 16 años
Puntos: 4
Respuesta: regresar valor recibido por un $.get

en el php cuento el numero de registros de una tabla de una base de datos, y lo unico q me regresa el numero total, en este caso recibo un 7 que son los registros que tengo, y al revisar en la función si me da el 7, pero en la asignación no hace nada, incluso lo intenté de la forma objeto.num y nada, hice un metodo setNum y tampoco no se que esa ocurriendo :S
  #16 (permalink)  
Antiguo 21/06/2012, 13:24
MCF
 
Fecha de Ingreso: marzo-2008
Mensajes: 126
Antigüedad: 16 años
Puntos: 4
Respuesta: regresar valor recibido por un $.get

Bien ya se que era lo que sucedia, lo que pasaba no era la asignacion, si no el callback, si lo hacia correctamente, sólo que utilizaba getNum antes de que retornara el valor, sólo tube que colocarlo después del retorno y ya todo funcionó, muchisimas gracias a los dos por su tiempo ;)
  #17 (permalink)  
Antiguo 21/06/2012, 14:03
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 9 meses
Puntos: 127
Respuesta: regresar valor recibido por un $.get

Cita:
Iniciado por MCF Ver Mensaje
Bien ya se que era lo que sucedia, lo que pasaba no era la asignacion, si no el callback, si lo hacia correctamente, sólo que utilizaba getNum antes de que retornara el valor, sólo tube que colocarlo después del retorno y ya todo funcionó, muchisimas gracias a los dos por su tiempo ;)
hace un tiempo tuve el mismo error, lástima no haber caído.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor

Etiquetas: $.get, jquery, objetos, orientado, retornar, return
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 08:24.