Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Psyke1 en 20 Mayo 2012, 19:58 pm



Título: función jQuery devolver valor
Publicado por: Psyke1 en 20 Mayo 2012, 19:58 pm
Soy muy novato en esto, hice esta función:
Código
  1. function getID(user){
  2.    $.getJSON('https://twitter.com/users/'+user+'.json?callback=?',
  3.    function(data)
  4.    {
  5.        $('#followers').html(data.id_str);
  6.    });
  7. }

Funciona bien, pero quiero que en vez de modificar el valor de #followers me devuelva un valor, probé así:
Código
  1. function getID(user){
  2.    $.getJSON('https://twitter.com/users/'+user+'.json?callback=?',
  3.    function(data)
  4.    {
  5.        return data.id_str;
  6.    });
  7. }
Pero claro, me hace return a la función dentro de la que está, y no a getID. :-\
¿Soluciones? :huh:

DoEvents! :P


Título: Re: función jQuery devolver valor
Publicado por: WarGhost en 21 Mayo 2012, 02:26 am
Código:
function getID(user){
    var buff;
    $.getJSON('https://twitter.com/users/'+user+'.json?callback=?', function(data) {
        buff = data.id_str;
    });

    return buff;
}

Así te tendría que funcionar, es un machetazo xD, pero funcionara como tu quieres.


Título: Re: función jQuery devolver valor
Publicado por: Psyke1 en 21 Mayo 2012, 09:12 am
Gracias, pero no funciona... :silbar:

DoEvents! :P


Título: Re: función jQuery devolver valor
Publicado por: [u]nsigned en 21 Mayo 2012, 18:18 pm
Que yo sepa no se puede. Lo que te recomiendo es crear un input tipo hidden. Asi cuando llamas a getJSON asignarle al value este input oculto el valor id_str. Y luego podes recuperarlo desde donde quieras. Por ejemplo si el input oculto se llamara 'id_str_tmp' el codigo de tu funcion seria:

Código
  1. function getID(user){
  2. $.getJSON('https://twitter.com/users/'+user+'.json?callback=?',
  3. function(data)
  4. {
  5. $('#id_str_tmp').val(data.id_str);
  6. });
  7. }
  8.  

Y en tu codigo html tendrias que agregar esto:
Código
  1. <input id="id_str_tmp" type="hidden" value="" />

Saludos


Título: Re: función jQuery devolver valor
Publicado por: Psyke1 en 21 Mayo 2012, 18:55 pm
Muchas gracias, aunque pensé que habría una solución menos fea para estos casos. :-\

DoEvents! :P