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

¿Como construir array luego de callback json y que quede disponible globalmente?

Estas en el tema de ¿Como construir array luego de callback json y que quede disponible globalmente? en el foro de Frameworks JS en Foros del Web. Hola amigos, les comento la situación que estoy tratando de resolver: Realizo una consulta a la DB con ajax, a partir de esto necesito que ...
  #1 (permalink)  
Antiguo 07/10/2011, 12:40
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 10 meses
Puntos: 269
¿Como construir array luego de callback json y que quede disponible globalmente?

Hola amigos, les comento la situación que estoy tratando de resolver:
Realizo una consulta a la DB con ajax, a partir de esto necesito que con la respuesta se valla formando un array, al cual poder acceder en el futuro.
A los fines de tener la misma tabla de la base de datos dentro de un array javascript.
Con esto pretendo consultar una sola vez a la DB y cada vez que necesite esa informacion pedirsela al array javascript.

Si no hago esto debo realizar 80 consultas, lo cual hice y como resultado obtuve que demora muchisimo en cargar los datos, cuando no se cuelga el navegador .

Para ello hago lo siguiente:
Código Javascript:
Ver original
  1. var miarreglo = new Object;
  2. function fileManagerCliente(){
  3.     $.getJSON("modulos/productos/ajax_controller.php?action=selectFiles", function(data){ miarreglo = data; });
  4. }
  5.  
  6. //y luego llamo la función.
  7. $(document).ready(function(){
  8.     fileManagerCliente();
  9.     alert(miarreglo);
  10. });
Entiendo que estoy haciendo muy mal esto, agradezco puedan corregirme.
Supongo que así como lo tengo, el arreglo "miarreglo" se crea en el contexto global.

Aclaro: En el modelo (php) devuelvo los datos en formato json con json_encode(); esto lo tengo resuelto. Por lo tanto, el problema se me presenta solo en el lado cliente.


Desde ya muchisimas gracias por su ayuda.
  #2 (permalink)  
Antiguo 07/10/2011, 14:03
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 4 meses
Puntos: 56
Respuesta: ¿Como construir array luego de callback json y que quede disponible global

Estás usando el methodo getJSON y a continuación quieres ejecutar con un alert el contenido de la respuesta, lo lógico es que cuando usas el alert aún no se carga el JSON.

La función que uses con los datos de ajax debería ejecutarse cuando termine la carga del json
por ejm:

Código Javascript:
Ver original
  1. var miarreglo = new Object;
  2.     function fileManagerCliente(){
  3.         $.getJSON("modulos/productos/ajax_controller.php?action=selectFiles", funcionClientes);
  4.     }
  5.      
  6.     //y luego llamo la función.
  7.     function funcionClientes(data){
  8.         miarreglo = data;
  9.         fileManagerCliente();
  10.         alert(miarreglo);
  11.     };
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */

Etiquetas: contexto, global, jquery, 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 19:10.