Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Extjs 3.4自定义JSONReader_Javascript_Extjs3 - Fatal编程技术网

Javascript Extjs 3.4自定义JSONReader

Javascript Extjs 3.4自定义JSONReader,javascript,extjs3,Javascript,Extjs3,我已经很久没问过问题了,但我终于在这里碰壁了。无论如何,让这件事变得容易。我正在尝试在ExtJS3.4中创建一个JSON存储(与工作相关,不,我不更新)。 嗯,我像往常一样创建了带有正确响应的查询,并将其填满。我的问题是,JSON上有一个额外的属性,我希望能够在应用程序上提取和使用它。 chrome中响应对象的my JSON示例: myInventory: [{Priority:1, PMNumber:444, Description:fix-a-tape, Assets:3, Storage_

我已经很久没问过问题了,但我终于在这里碰壁了。无论如何,让这件事变得容易。我正在尝试在ExtJS3.4中创建一个JSON存储(与工作相关,不,我不更新)。 嗯,我像往常一样创建了带有正确响应的查询,并将其填满。我的问题是,JSON上有一个额外的属性,我希望能够在应用程序上提取和使用它。 chrome中响应对象的my JSON示例:

myInventory: [{Priority:1, PMNumber:444, Description:fix-a-tape, Assets:3, Storage_Count:0,…},…]
percent: 97.040498442368
totalCount: "3"
现在,我知道这是正确的格式,因为我使用的网格已填充,但我无法获取percent属性。所以我的问题是,如果有一个额外的参数,在EXTjs上不常见,在我的例子中是百分比,那么如何在代码的数据存储构建块上提取一个额外的参数?
我尝试在JSONReader上进行元更改,但在创建数据存储后检查数据存储时,我得到的只是属性上的百分比:“百分比”。

Ext.data.JSONReader有一个属性,它正是您所需要的。一个简单的例子:

Ext.onReady(function() {
    var store = new Ext.data.JsonStore({
        url: 'data/test.json',
        root: 'dataRoot',
        fields: ['fieldA', 'fieldB'],
        idProperty: 'id',
        storeId: 'myStore'
    });

    store.on('load', function(store) {
        console.log(store.reader.jsonData.someOtherProperty);
    });

    store.load(); 

});
data/test.json如下所示:

{
    dataRoot: [{
        id: 0,
        fieldA: 'a',
        fieldB: 'b' 
    }],
    someOtherProperty: 'abc'
}

还有一种替代方法,您可以手动(而不是通过store.load())执行Ext.Ajax请求,使用所需的属性,然后使用从Ajax请求中获得的数据手动调用。

我知道我可以执行另一个查询,然后创建单独的数据存储,但我认为这是一种浪费。我应该能够向存储添加一个参数,以便在网格中使用,或者在另一个使用数据库中动态数据的元素中使用。我已经尝试过了。我可以看到来自JSON的数据经过正确格式化,但仍然没有“otherProperty”可用。我一直在胡乱处理JSON的元数据属性,我在某种程度上让它发挥了作用,但这还不是答案,因为我没有在网格ATM上显示任何内容。谢谢你的指点,尽管我5天前就有了同样的想法。