• Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)
  • Cuixer, una forma de administrar páginas web que nunca viste!

 Tema solucionado Obtener valores de un store directamente

Foros generales de ayuda Ext 3.0.

Ext.foro.Nuevo
Mensajes: 18
Registrado: 14 Feb 2010, 13:33
NotaPublicado: 17 Ene 2012, 02:38
Hola amigos, hacía rato no molestaba en el foro, pero resulta que hace tiempo tengo un problema y hoy dia me vuelvo a encontrar con el y es el siguiente, me urge coger unos valores de un store directamente, o mejor dicho de una respuesta JSON. Para esto he probado dos variantes:
1- con Ext.Ajax.resquest
2- con una definición de store.

Con la 1ra variante:
Código: Seleccionar todo
var quotaAsignada  = 0;

Ext.Ajax.request({
      url:'?controlador=cuota&accion=Obtener_cuota',
      method: 'GET',
      success: function(r){
        quotaAsignada = Ext.decode(r.responseText).quota_usada;
        }
    });

console.debug(quotaAsignada )     //me imprime 0


Resulta como ven en el comentario me muestra 0 en firebug, que es lo que me ocurre aquí, sin embargo cuando pongo el console.debug dentro del bloque success si me da el valor...

Código: Seleccionar todo
var datasStore = new Ext.data.Store({
        reader: new Ext.data.JsonReader({
        totalRecords: "cantidad",
        fields: [
          {name:'quota_usada'},
          {name:'quota_asignada'}       
        ]
      }),
        proxy: new Ext.data.HttpProxy({
            url:'?controlador=cuota&accion=Obtener_cuota',
               method:'GET',
        })
    });


Con esta variante como pudiera coger los valores del store????

Espero su ayuda......
Para no ver esta publicidad, debes ser usuario del Foro.
Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)


Cuixer, una forma de administrar páginas web que nunca viste!


Ext.foro.Moderador
Mensajes: 240
Registrado: 11 Feb 2011, 00:19
Ubicación: Venezuela
NotaPublicado: 17 Ene 2012, 10:19
No entiendo bien cual es el problema que tienes, es normal que el Ext.Ajax.request no te muestre el valor fuera del success, puesto que lo que haces es una peticion asincrona al servidor, es decir, el codigo va mucho mas rapido que la respuesta del servidor y por lo tanto cuando intentas imprimir los datos fuera del request no existen. La funcion success se ejecuta cuando la peticion al servidor se completa (el servidor devuelve el valor 200). Cuando llama la función success puedes ejecutar cualquier tipo de accion que mas te convenga para manipular los datos que recibes de la peticion.

Yo lo utilizo de esta manera:

Código: Seleccionar todo
Ext.Ajax.request({
            url:'listar.php',
            params : {
               
            },
            scope : this,
            success : function(response){
               info = Ext.decode(response.responseText);
               if (info.success === false){
                  Ext.Msg.show({
                     title : 'ERROR',
                     msg : 'No existe ese registro',
                     icon : Ext.MessageBox.ERROR,
                     buttons: Ext.Msg.OK
                  })
               }else{
                  //Aqui puedes utilizar los datos que recibes de la peticion ajax si haces un console.log(info) puedes ver en la consola todo los que recibes en la peticion.
                  
               }
            }
         });   
Busca en el Foro antes de preguntar o lee la Documentación
Desarrollo Web y Aplicaciones Consultar

Volver a Ext 3.0: Ayuda





  • Publicidad (ayudanos a mantener el Foro haciendo un click sobre la misma)
  • Cuixer, una forma de administrar páginas web que nunca viste!