Javascript ComboStore未加载数据

Javascript ComboStore未加载数据,javascript,extjs,extjs3,Javascript,Extjs,Extjs3,我创建了一个组合框,其中包含我给出的配置 displayField: 'TEXT', valueField: 'ID', 这是我的商店 this.store = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: 'combodata.json', actionMethods: { read: 'GET' }, reader: new

我创建了一个组合框,其中包含我给出的配置

displayField: 'TEXT',
valueField: 'ID',
这是我的商店

this.store = new Ext.data.Store({
    proxy: new Ext.data.HttpProxy({

        url: 'combodata.json',
        actionMethods: {
            read: 'GET'
        },
        reader: new Ext.data.JsonReader({
            rootProperty: 'ROOT.TAG'
        })
    }),
        fields: [
                    {name: 'ID', mapping: 'ID', type: 'string'},
                    {name: 'TEXT', mapping: 'TEXT', type: 'string'}
                ],
        autoLoad: true
    });
这是我的JSON

{
    "ROOT": {
        "TAG": [{
            "ID": 01,
            "TEXT": "ABC"
        },
        {
            "ID": 02,
            "TEXT": "DEF"
        },
        {
            "ID": 03,
            "TEXT": "GHI"
        }]
    }
}
我可以看到URL正在响应,但数据并没有加载到combobox中。甚至数据本身也不会存储。谁能帮我解释一下为什么数据没有在combo中加载。 更新:

this.store = new Ext.data.Store({
            autoLoad: true,
            fields: [
                    {name: 'ID', mapping: 'ID', type: 'string'},
                    {name: 'TEXT', mapping: 'TEXT', type: 'string'}
                ],
            proxy: new Ext.data.HttpProxy({

                url: 'adata.json',//this.url,
                headers: {
                        'Accept': 'application/json; charset=utf-8'
                    },
                actionMethods: {
                    read: 'GET'
                },
                reader: new Ext.data.JsonReader({
                    root: 'ROOT'
                })
            })
        });

您的标签表明您使用了ExtJS3.4<代码>根属性在该版本中不可用。改用
root

另外,我不认为extjs3.4已经允许指定一个嵌套的根,比如
root:'root.TAG'
,这可能是不可能的,因为您必须更改返回的JSON的格式或升级到更新版本的ExtJs

尝试将此格式与
root:'root'
一起使用:

{
    "ROOT": [{
        "ID": 01,
        "TEXT": "ABC"
    },
    {
        "ID": 02,
        "TEXT": "DEF"
    },
    {
        "ID": 03,
        "TEXT": "GHI"
    }]
}
,我正在从JSON文件加载组合

请注意,在
Assets
文件夹中有存储加载的JSON文件
data.JSON


正如洛伦兹评论的那样,有必要做出一些改变,看看,我希望我能帮助你

您是否已在控制台中检查combo是否通过.getStore()方法加载了store。请在控制台中检查presentStore正在加载哪些值,但
store.data
没有items@David请看一看,谢谢你的回答。我变了,但运气不好。如果我像这样更改我的响应会怎么样?..
在这种情况下,我需要如何继续。您将JSON更改为XML。我从未在ExtJs中使用过XML,因此对此我无能为力。但是我更新了我的答案,指出JSON格式应该可以工作。当然可以。我更新我的代码。。有问题的是仍然没有运气。我再次更改为json,请将其转换为Ext 3I没有ExtJS 3,但如果您知道fiddle.sencha.com之类的地方,您可以在那里开发工具,我可以试试。@AlexandreNeukirchen这篇文章已经有一年左右的历史了,但我希望您的fiddle能够工作,但出于某种原因,它既没有加载数据,也没有显示组合框。