do.iにはthis projectで同じ問題がありました。自動的にJSON response.putから複数のストアを作成する方法を理解しました。グリッドがロードされる前に次のコードがロードされています。extjs4、あなたのケースはMA.store.root1
になりため
Ext.Ajax
.request({
url : './account/getadminstores',
callback : function(options, success, response) {
var json = Ext.decode(response.responseText);
var adminStores = new Array();
// setup and intitialize on the fly stores
for (var key1 in json) {
var storeFields = new Array();
for (var key2 in json[key1]) {// if
// (i==1){break;}
// console.log(key2);
for (var key3 in json[key1][key2]) {
storeFields.push(key3);
}
break;
}
;
Ext.define('MA.store.' + key1, {
extend : 'Ext.data.Store',
fields : storeFields,
storeId : key1,
id : 'MA.store.' + key1,
data : json[key1],
proxy: {
type: 'ajax',
url : './account/getadminstores',
reader: {
type: 'json',
root: key1
}
},
autoLoad: true
});
Ext.create('MA.store.' + key1);
}
;
作成した店舗:店舗が作成されますので、アプリは、initialized.The店舗が自動的に作成されますどのようなJSONリターンに依存しているとき、私はapp.jsに次のコードを入れてとMA.store.root2
MAはあなたのアプリの名前空間です(あなたはあなたのアプリの名前空間が何であれ変更してください)。このコードはextjs4のためのものです。古いバージョンで動作させるようにしてください。私たちが使用することができます
、 '{ "成功":真、 "ROOT1":[ \t \t { \t \t "ID":1、 \t \t "名": "ジョン"、 \t \t "姓": "ドウ" \t \t}、 \t \t \t { \t \t "ID":2、 \t \t "名前": "ジェーン"、 \t \t "姓": "ドウ" \t \t} \t \t]、 \t "root2":[ \t \t { \t \t "ID":1、 \t \t "名": "ジャック"、 \t \t "姓": "ブラウン" \t \t}、 \t \t \t { \t \t "ID":2、 \t \t "名前": "クリス"、 \t \t "姓": "ブラウン" \t \t} \t \t] } ' – vtokmak