2015-09-04 185 views
-2

我有这个商店。我的问题,我想从这个Json获取数据。如何从JSON中获取数据Extjs

Ext.define('DWP.store.Test', { 
extend: 'Ext.data.Store', 

     fields: [ 
      {name: 'field1'}, 
      {name: 'field2'}, 
     ], 
     proxy: { 
      type: 'ajax', 
      url : 'resources/data/load.php', 
      reader: { 
      type: 'json', 
      rootProperty: 'root' 
      } 
     }, 
     autoLoad: true, 
    }); 

我试过这段代码从Json获取数据,但没有工作。我怎样才能从json获取数据?

var json = Ext.encode(Ext.pluck(store.data.items, 'store')); 

回答

2

既然你有autoLoad: true这看起来应该像:

var store = Ext.getStore('DWP.store.Test'); 
    store.each(function (record, id) { 
     console.log(record.get('field1')); 
    }); 

,如果你喜欢autoLoad: false这个样子:

var store = Ext.getStore('DWP.store.Test'); 
     store.load({ 
      callback: function (records, operation, success) { 
       store.each(function (record, id) { 
        console.log(record.get('field1')); 
      }); 
     } 
}); 
+0

如果我使用的是functon,我不能将它们变成一个变量。你有任何解决方案,因为我想使用Json数据再次加载,但到另一家商店。请帮帮我? –

+0

你为什么试图用相同的值复制商店?那是什么目的? –

+0

是的,我错了。所以我问你的解决方案。实际上我想从不同的商店加载新的数据,但两个商店的字段名称是相同的,所以我认为可以从另一个JSON加载数据到JSON。我想在我的chart.js中钻取数据,但从Mysql中获取数据,但数据不止一个。我迷惑,我希望你能帮助我,因为这是我第一次使用Extjs。 –