Foro

Cuando usar un HttpProxy

0
Hola a todo, quisiera que me aclaren una duda, tengo un grid y quiero cargar su store pero usando un HttpProxy pero no me carga los datos, a través del firebug veo que el servidor me envia los datos, vi que algunos ejemplos que lo usan para cargas su datos, y cuando utilizar el HttpProxy en mis aplicaciones
Ext.ns('com.quizzpot.tutorial');  
  
com.quizzpot.tutorial.GridJsonTutorial = {  
	init: function(){  
		//code goes here
		//Haciendo este JsonStore me carga el store de mi grid
/* 
		 var store = new Ext.data.JsonStore({  
		     url: 'gridjson.php',  
		     root: 'data',  
		     fields: ['city',{name:'visits',type:'float'},{name:'pageVisits',type:'float'},'averageTime']  
		 });
*/	
		//Pero cuand hago con un HttpProxy no me carga mi store de mi grid
		var store = new Ext.data.JsonStore({
			proxy: new Ext.data.HttpProxy({
				url: 'gridjson.php', 
			}), 
			remoteSort: true,
		
			reader : new Ext.data.JsonReader({  				
				root: "data",  
				fields: [  
							 {name: 'city'},  
							 {name: 'visits', type:'float'},  
							 {name: 'pageVisits', type:'float'},  
							 {name: 'averageTime'}  
						 ]
			 })		     
		 }); 		 
		 
		 store.load();
		 //grid.store.reload();
		
		//Creando el objeto Ext.grid.ColumnModel  
		 var myColumnModel = new Ext.grid.ColumnModel([  
			 new Ext.grid.RowNumberer(),  
			 new Ext.grid.CheckboxSelectionModel(),
			 {header:'City', dataIndex:'city',sortable: true},  
			 {header:'Visits', dataIndex:'visits',sortable: true},  
			 {header:'Page/Visits', dataIndex:'pageVisits',sortable: true},  
			 {header:'Average Time', dataIndex:'averageTime', width:150,sortable: true} 
		 ]);
		
		 var grid = new Ext.grid.GridPanel({  
		     store: store, // <--- le asignamos el store con la información a utilizar  		     
			 cm: myColumnModel,//referencia al columnModel  
		     border: false,  
		     stripeRows: true  
		 });
		 
		
		
		 var win = new Ext.Window({  
		     title: 'Grid example',  
		     layout: 'fit',  
		     width: 510,  
		     height:350,  
		     items: grid  
		 });  
		   
		 win.show();
		
	}  
} 
Ext.onReady(com.quizzpot.tutorial.GridJsonTutorial.init,com.quizzpot.tutorial.GridJsonTutorial);  
0
el JsonStore te crea automáticamente el reader, así que no es necesario crearle uno, intenta lo siguiente:
//Pero cuand hago con un HttpProxy no me carga mi store de mi grid
      var store = new Ext.data.JsonStore({
         proxy: new Ext.data.HttpProxy({
            url: 'gridjson.php'
         }),
         root: 'data',
         fields: ['city',{name:'visits',type:'float'},{name:'pageVisits',type:'float'},'averageTime']            
       }); 
Bueno, espero te funcione y ahi nos avisas. saludos
0
Gracias, me funciono ahora la duda que tengo es cuando emplear el HttpProxy.
//Cuando emplear de esta forma
var store = new Ext.data.JsonStore({  
		     url: 'gridjson.php',  
		     root: 'data',  
		     fields: ['city',{name:'visits',type:'float'},{name:'pageVisits',type:'float'},'averageTime']  
		 });
//Y cuando de esta otra
var store = new Ext.data.JsonStore({
         proxy: new Ext.data.HttpProxy({
            url: 'gridjson.php'
         }),
         root: 'data',
         fields: ['city',{name:'visits',type:'float'},{name:'pageVisits',type:'float'},'averageTime']           
       });		
0
lo usas cuando utilizas un Store, o bien cuando quieres modificar alguno de los parámetros que por defecto le asigna el JsonStore. Saludos

¿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.