2012-12-19 57 views
4

我正在创建一个MVC extjs应用程序。我有一个商店的treepanel,它正在加载来自php源的数据。 我得到以下JSON格式的响应:extjs treestore与代理

[ 
{ 
    "text": "Home", 
    "leaf": true, 
    "dbName": "NULL", 
    "children": [] 
}, 
{ 
    "text": "Moje Firma s.r.o.", 
    "leaf": false, 
    "expanded": false, 
    "children": [ 
     { 
      "text": "Vydane", 
      "leaf": true, 
      "dbName": "demo" 
     }, 
     { 
      "text": "Prijate", 
      "leaf": true, 
      "dbName": "demo" 
     } 
    ] 
}, 
{ 
    "text": "Já Živnostník", 
    "leaf": false, 
    "expanded": false, 
    "children": [ 
     { 
      "text": "Vydane", 
      "leaf": true, 
      "dbName": "demo_de" 
     }, 
     { 
      "text": "Prijate", 
      "leaf": true, 
      "dbName": "demo_de" 
     } 
    ] 
}, 
{ 
    "text": "Nezisková organizace", 
    "leaf": false, 
    "expanded": false, 
    "children": [ 
     { 
      "text": "Vydane", 
      "leaf": true, 
      "dbName": "demo_neziskova" 
     }, 
     { 
      "text": "Prijate", 
      "leaf": true, 
      "dbName": "demo_neziskova" 
     } 
    ] 
}, 
{ 
    "text": "Příspěvková organizace", 
    "leaf": false, 
    "expanded": false, 
    "children": [ 
     { 
      "text": "Vydane", 
      "leaf": true, 
      "dbName": "demo_prispevkovka" 
     }, 
     { 
      "text": "Prijate", 
      "leaf": true, 
      "dbName": "demo_prispevkovka" 
     } 
    ] 
}, 
{ 
    "text": "Moje Firma SK s.r.o.", 
    "leaf": false, 
    "expanded": false, 
    "children": [ 
     { 
      "text": "Vydane", 
      "leaf": true, 
      "dbName": "demo_sk" 
     }, 
     { 
      "text": "Prijate", 
      "leaf": true, 
      "dbName": "demo_sk" 
     } 
    ] 
} 
] 

我的店:

Ext.define('Statistics.store.Menu', { 
extend: 'Ext.data.TreeStore', 
model: 'Menu', 
autoLoad: true, 
autoSync: true, 

proxy : { 
    type : 'ajax', 
    url : 'data.json', 
    reader: { 
     type: 'json' 
    } 
} 


}); 

和型号:

Ext.define('Statistics.model.Menu', { 
extend: 'Ext.data.Model', 

fields: [ 
    {name: 'text', type: 'string'}, 
    {name: 'leaf', type: 'boolean'}, 
    {name: 'expanded', type: 'boolean', defaultValue: false}, 
    {name: 'dbName', type: 'string', defaultValue: 'NULL'} 
], 

}); 

这种配置的作品,当数据被保存在一个以.json文件。但是,当它们从一个PHP源代码加载时,id不起作用。

感谢您的任何答案。

回答

4

服务器响应必须看起来像这样:

{ 
    success: true, 
    children: // here is the array of items 
} 
0

您的字段说db_name和json响应说'dbName'。你可以检查一下吗?

+0

感谢答复。 这是一个错误,但它仍然不起作用 – sveatlo

+0

数据来自不同的域/任何代理重定向请求?只要尝试将代理类型更改为'jsonp'并查看以排除任何疑问。 – srknori