Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Objeto javascript en variable

Estas en el tema de Objeto javascript en variable en el foro de Jquery en Foros del Web. Wenas gente,, Estoy intentando guardar un objeto javascript en una variable o returnarlo en una función para luego poder manejarlo pero siempre me devuelve undefined. ...
  #1 (permalink)  
Antiguo 08/12/2013, 17:18
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 2 meses
Puntos: 10
Objeto javascript en variable

Wenas gente,,

Estoy intentando guardar un objeto javascript en una variable o returnarlo en una función para luego poder manejarlo pero siempre me devuelve undefined.

la función es así:

Código Javascript:
Ver original
  1. function getDayCalendar(){
  2.     $.ajax({
  3.       url: "getDayCalendar.php",
  4.       dataType: 'json',
  5.     //  data: $(this).serialize(),
  6.       cache: false,
  7.       success: function(result) {
  8.          var items = [];
  9.          items.push({fecha_in: result.fecha_inicio,fecha_f:result.fecha_fin});
  10.          
  11.         return items[0];
  12.  
  13.  
  14.       },
  15.       error: function(result) {
  16.          alert(result.responseText);
  17.       },
  18.     });
  19.    
  20. }

Estoy intentando obtener el objeto "items" fuera de dicha función pero siempre devuelve undefined.

Como podría hacerlo?

Gracias.
  #2 (permalink)  
Antiguo 08/12/2013, 17:42
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: Objeto javascript en variable

Hola:

Deberías declarar item fuera de tu función... y no deberías generalizar, porque estás usando alguna librería ($() no es código nativo javascript...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 08/12/2013, 18:49
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 17 años
Puntos: 51
Respuesta: Objeto javascript en variable

El metodo ajax de jquery es asincronico por lo que si quieres recuperar un valor con return siempre sera undefinded ya que la funcion terminará de ejecutarse antes de que el ajax recupere los nuevos datos lo que tendrías que hacer es crear un callback
Código Javascript:
Ver original
  1. <script>
  2.  
  3.     function getDayCalendar(call){
  4.         $.ajax({
  5.           url: "getDayCalendar.php",
  6.           dataType: 'json',
  7.         //  data: $(this).serialize(),
  8.           cache: false,
  9.           success: function(result) {
  10.              var items = [];
  11.              items.push({fecha_in: result.fecha_inicio,fecha_f:result.fecha_fin});
  12.              
  13.             call(items);
  14.      
  15.      
  16.           },
  17.           error: function(result) {
  18.              alert(result.responseText);
  19.           },
  20.         });
  21.        
  22.     }
  23.     getDayCalendar(function(p){
  24.         console.log(p[0]);
  25.     });
  26. </script>

saudos
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #4 (permalink)  
Antiguo 09/12/2013, 11:27
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: Objeto javascript en variable

caricatos

Muchas gracias la verdad que uno cuando trabaja muchas horas sobre un programa pasan desapercibidos cosas básicas de programación.

Lynxcraft

También intenté hacer funcionar el callback pero no resulto, voy a tener que leer un poco más de información talvez me sea útil para el futuro.

Etiquetas: ajax, javascript, js, objeto, php, variable
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 22:29.