ASP.NET的安全功能之一在这里被证明是一座山 - 在返回JSON响应时,“d”属性添加看起来令人困惑ExtJS when我试图动态地重新配置一个网格面板,导致它在尝试生成新的列结构时失败。ExtJS4 - 在ASP.NET中重新配置网格 - JSON结构问题
I,接着nicholasnet此解决方案: http://www.sencha.com/forum/showthread.php?179861-Dynamic-grid-columns-store-fields
,它工作精美,直到JSON有效载荷被围绕“d”属性,例如包裹
{"d":{
"metaData": {
"root": "data",
"fields": [{
"type": "int",
"name": "id",
"hidden": true,
"header": "id",
"groupable": false,
"dataIndex": "id"
}, ...omitted for brevity...]
},
"success": true,
"data": [{
"id": "1",
"controller": "Permissions",
"description": "Allow to see permission by roles",
"administrator": true,
"marketing": false
}]
}
}
我无法弄清楚如何告诉ExtJS绕过这个问题。 我试过将AJAX阅读器的“root”属性设置为"d.data"
,但这会导致网格显示正确的行数但根本没有数据。
我已经拥有JSON中列元数据("name", "header", "dataIndex")
所需的所有属性描述符,所以我不相信JSON结构是原因。我当时的主要领导是在事件处理程序:
store.on
({
'load' :
{
fn: function(store, records, success, operation, eOpts)
{
grid.reconfigure(store,store.proxy.reader.fields);
},
scope: this
}
}, this);
的fields
在historyStore.proxy.reader.fields
部分是不确定的,当我通过“d” -wrapped JSON。任何人有任何想法,为什么这是或如何解决这个问题?
编辑:我店/代理
Ext.define('pr.store.Store-History', {
extend: 'Ext.data.Store',
model: 'pr.model.Model-History',
proxy: {
type: 'ajax',
url: '/data/history.json',
reader: {
type: 'json',
root: 'd'
}
}
});
您对阅读器对象的配置是什么? – sha 2012-03-20 15:00:48
我已将我的商店类添加到OP。 – MHTri 2012-03-20 15:21:27
你可以尝试阅读器作为'读者:{ 类型:'json', root:'d.data',successProperty:'d.success' }' – 2012-03-20 15:29:31