Extjs4 ExtJs JSONStore输入数据格式

Extjs4 ExtJs JSONStore输入数据格式,extjs4,Extjs4,这是我的密码: function getStore (json) { var reader = new Ext.data.JsonReader({ root : 'data', successProperty: 'success', totalProperty: "rows", fields : [ {name: 'num', allowBlank:'true'}, {name: 'date', da

这是我的密码:

function getStore (json) {
    var reader = new Ext.data.JsonReader({
       root : 'data',
       successProperty: 'success',
       totalProperty: "rows",
       fields : [
        {name: 'num', allowBlank:'true'},
        {name: 'date', dateFormat:'d.m.Y H:i:s', type: 'date'},
        {name: 'signerFIO', type: 'string'},
        {name: 'checkSign', type: 'boolean'}
       ]
   });

   var store = new Ext.data.JsonStore ({
     data   : json,
     reader : reader
   });

   return store;
}
从服务器到达的数据是:{
“data”:[{“num”:“111”,“signerFIO”:“hello”,“checkSign”:true,“date”:“25.05.2012”}],“success”:1,“rows”:1}

我尝试将“json”函数参数设置为原始json(到达时)和Ext.util.json.decode(response.responseText)

我在FF中尝试了这段代码,在FireBug中,我得到了奇怪的
h未定义
错误

有人知道怎么了吗

更新

这个


在没有错误的情况下为我工作,但也没有加载任何数据。

我真的不确定您试图用这段代码做什么,但这会使它工作(假设json是解码对象而不是字符串):


问题出在读者身上(实际上,我不知道是什么问题)。 这:


为我工作。

您尝试过使用extjs的调试版本吗?它应该给你更多的细节。还有,你是如何加载商店的?谢谢你的回答!我试试看谢谢你的回答!我试试你的变体。当然,这里有一点要告诉你=)我已经设法解决了这个问题(请参阅我的回答),但我不知道哪里出了错误。你必须小心,这里的store.load()是异步的,并且在加载数据之前将返回该存储。非常感谢!什么方法是同步的?不确定是否可以使其同步,但通常的想法是监听加载事件的完成情况,然后做一些有用的事情。您可以在存储上设置侦听器,也可以将回调函数传递给load方法。查看Sencha文档和正确操作的示例。
var store = new Ext.data.JsonStore ({
    data     : json,
    fields   : ['data']
});
Ext.define("MyItem", {
    extend: "Ext.data.Model",
    fields: [
        {name: 'num', allowBlank:'true'},
            {name: 'date', dateFormat:'d.m.Y H:i:s', type: 'date'},
            {name: 'signerFIO', type: 'string'},
            {name: 'checkSign', type: 'boolean'}
    ]
});
function getStore (json) {

   var store = new Ext.data.JsonStore ({
     data:  json.data,
     model: MyItem
   });

   return store;
}
function getStore (jsonRequestUrl) {
var store = new Ext.data.JsonStore ({
    autoLoad : false,
    proxy    : new Ext.data.HttpProxy({ url: jsonRequestUrl, method: 'POST' }),
    root     : 'data',
    successProperty : 'success',
    totalProperty   : "rows",
    idProperty      : "id",
    fields : [
        {name: 'num', type: 'string', mapping: 'num'},
        {name: 'signerFIO', type: 'string', mapping: 'signerFIO'},
        {name: 'checkSign', type: 'boolean', mapping: 'checkSign'},
        {name: 'date', dateFormat:'d.m.Y', type: 'date', mapping: 'date'}
    ]
});
store.load();

return store;
}