3

我有这家店:

Ext.define("App.store.units.MyStore", {

    extend:'Ext.data.Store',
    requires: "App.model.units.MyModel",

    model: "App.model.units.MyModel",
    id:'myStore',
    pageSize:10,
    proxy: {
        type: 'jsonp',
        url: urls.MyUrl+"/search",
        limitParam: 'undefined',
        startParam: 'offSet',
        pageParam: 'undefined',
        extraParams: {
            searchString: 'a'
        },
        reader: {
            root: 'results.results',
            totalProperty: 'numFound',
            type: 'json'
        }
    }
});

该请求有效,我得到了预期的响应。

出于某种原因,现在我在浏览器中得到了这个:

reader.read is not a function

我不明白问题出在哪里,因为昨天一切正常(我知道这听起来如何,但我真的不知道有什么不同)。

任何可能有帮助的建议?

编辑这里也是模型的(动态)定义:

function(config){
    try{
        console.log("INIT MODEL");
    Ext.define("App.model.units.MyModel", {
        extend: 'Ext.data.Model',
        fields: config
    });
    } catch(err){
        console.log("Error");
    }
}

此函数在创建商店之前config运行,并且对象是一个array项目{name: 'value'}

我不知道出了什么问题。现在一切似乎在 Firefox 中运行良好,但 IE8 仍然存在该错误(type:'json'阅读器中的事件)。我认为阅读器在 IE8 中没有正确安装,但我无法检查它,因为对象没有正确显示在其控制台中(或者我不知道这样做)。为什么没有按应有的方式运行相同的 javascript 代码?

稍后编辑由于某种原因,我得到了reader唯一有时创建的。这就是问题。有时它只是一个对象,而不是需要的reader. 这也发生在 Firefox 中。似乎没有任何模式。

4

3 回答 3

1

我有非常相似的问题。这是有帮助的:

Ext.require('App.model.units.MyModel');
//or any other model you use in your store

在创建商店之前把它放在某个地方,它就可以工作了!

于 2012-10-11T07:12:59.787 回答
0

需要的配置是一个数组,如 ExtJS 文档中所述:

http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.Class-cfg-requires

于 2013-09-11T23:28:38.593 回答
0

删除商店字段时出现此错误。我有这个用于网格...

网格

            columns: [
                {header: "Status", width: 75, sortable: true, dataIndex: 'partystatus'},
                {header: "Name", width: 160, sortable: true, dataIndex: 'partyname'},
                {header: "Fathersname", width: 75, sortable: true, dataIndex: 'fathersname'},
                {header: "Grandfather", width: 75, sortable: true, dataIndex: 'grandfather'},
                {header: "Type", width: 75, sortable: true, dataIndex: 'partytype'}
            ],

以及以下商店:

店铺

    fields: [
        {name: 'firstName', type: 'string'},
        {name: 'name', type: 'string'},
        {name: 'age', type: 'int'},
        {name: 'eyeColor', type: 'string'}
    ],

我只是删除了商店字段,认为它们是多余的,但我得到了那个错误。

于 2016-11-04T12:09:15.150 回答