ExtJS 4.1.1a:JsonStore + proxy + url ="无法调用未定义的方法'indexOf'

lea*_*eaf 5 jsonstore extjs4.1

此代码块有效:

Ext.define('MyApp.store.MyJsonStore', {
    extend: 'Ext.data.Store',
    fields: ['fieldName'],
    proxy: {
        type: 'ajax',
        url: 'json.php',
        reader: 'json'
    }
});
Run Code Online (Sandbox Code Playgroud)

这一次崩溃:

Ext.define('MyApp.store.MyJsonStore', {
    extend: 'Ext.data.JsonStore',
    fields: ['fieldName'],
    proxy: {
        type: 'ajax',
        url: 'json.php',
        reader: 'json'
    }
});
Run Code Online (Sandbox Code Playgroud)

这是出现问题的地方:

在此输入图像描述

难道我做错了什么?

Izh*_*aki 4

JsonStore有点像 ExtJs 库中的红色区域......

如果您查看JsonStore的源代码,您将看到:

constructor: function(config) {
    config = Ext.apply({
        proxy: {
            type  : 'ajax',
            reader: 'json',
            writer: 'json'
        }
    }, config);
    this.callParent([config]);
}
Run Code Online (Sandbox Code Playgroud)

实际上,商店会覆盖您自己的配置。

老实说,我很难想象你为什么会JsonStore更喜欢Ext.data.Store. 从设计的角度来看,Json 更像是一个阅读器——存储只是存储记录。

我只在我的应用程序中使用Ext.data.StoreExt.data.TreeStore