Foro

jsonstore no carga los datos

0
buenos dias a todos, por medio de este foro me permito hacerles una pregunta con respecto a un problema que tengo con el objeto jsonstore de extjs que no me esta cargando los datos a partir de un json generado por un pagina jsp el codigo es el siguiente: json generado del lado del servidor {"services":[{"id":10,"name":"Ordenes de Compra"},{"id":29,"name":"Email Blast System"},{"id":1,"name":"Facturas"},{"id":2,"name":"Pagos"},{"id":9,"name":"Certificados"}]} codigo extjs: loadServices:function(dato){ //se crea el store de servicios this.serviceData = new Ext.data.JsonStore({ url: 'control/MainControl.jsp', root: 'services', baseParams: {client:dato}, fields: [{name:'id', type: 'float'},{name:'name'}] }); this.serviceData.load(); this.total(); }, total:function(){ console.debug(this.serviceData.getCount()); } en el debug del firebug de mozilla me imprime 0 y miro en el debuger del firebug pasa los parametros bien y retorna el json correctamente pero cuando miro la data del objeto jsonsotre no hay datos, como podria solucionar esto gracias por su atencion y pronta colaboracion saludos
0
Hola otra manera de hacerlo es usando también el evento callback, que se ejecuta cuando se terminan de cargar los datos del Store. Saludos
0
gracias por la pronta respuesta me prodiras dar un ejemplo de como manejar el evento success gracias nuevamente
0
perdón, me equivoque no es el success sino el evento load al cual le debes hacer un listener agregándole lo siguiente a tu objeto serviceData: listeners: { 'load': function(s){ console.debug(s.getCount()); } } veras que en "s" pasa el mismo objeto store por lo que puedes tomar de ahí sus datos espero te sea util :-D
0
muchas gracias ya funciono
0
no tengo conocimiento de jsp pero creo que tu problema puede estar en el hecho de que el ajax es asincronico, por lo que cuando ejecutas el console el store aun no ha cargado los datos, puedes comprobarlo haciendo el mismo console pero dentro del evento success del store.

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.