【问题标题】:'Status Code : 405 Method Not Allowed' on loading comboStore'状态代码:405方法不允许'加载comboStore
【发布时间】:2017-08-08 06:59:26
【问题描述】:

我正在尝试在我的 ExtJS 组合中加载一个 comboStore。

this.store = new Ext.data.Store({
            autoLoad: true,
            url: 'NewJSON.json',
            storeId: 'projectDropDown',
            reader: new Ext.data.JsonReader(
            {
                root: 'ROOT'
            }),
            idProperty: 'ProjectID',
            fields: [ 'ID', 'Text' ]
        });

我收到状态代码:405 Method Not Allowed'。

这可能是什么原因。

JSON

{
    "ROOT": {
        "Tag": [{
            "ID": 01,
            "TEXT": "B"
        },
        {
            "ID": 02,
            "TEXT": "A"
        }]
    }
}

【问题讨论】:

    标签: javascript extjs


    【解决方案1】:

    你在store中放置的“url”和“reader”配置,其实是storeproxy配置。

    this.store = new Ext.data.Store({
        autoLoad: true,
        storeId: 'projectDropDown',
        fields: ['ProjectID', 'ProjectName'],
        proxy: {
            type: 'ajax',
            url: 'NewJSON.json',
            reader: new Ext.data.JsonReader({
                root: 'projects'
            })
        }
    });
    

    另外,idProperty 在这里不会有任何影响,因为它是一个 Ext.data.Model 配置。您应该在单独的类中声明模型,然后在您的商店中使用它。

    【讨论】:

    • 尝试但问候效果不大。我用示例 json 数据更新了我的问题,请您说明一下如何将我的商店与此 json 绑定。
    • 您提供的 JSON 似乎无效(您缺少“]”)。读者的rootProperty,从JSON数据来看,应该是“ROOT.Tag”。看看这个工作小提琴:fiddle.sencha.com/#view/editor&fiddle/24om
    • 没关系。我更正了json。这里我说的是comboStore 而不是GridStore
    • 其实没关系。网格和组合没有单独的商店。使用相同的store 类。工作组合小提琴:fiddle.sencha.com/#view/editor&fiddle/24on
    • 是的,但不幸的是我收到了Uncaught TypeError: j.on is not a function 错误
    猜你喜欢
    • 1970-01-01
    • 2020-06-17
    • 2020-04-29
    • 2021-12-20
    • 1970-01-01
    • 2019-11-07
    • 2017-06-15
    • 2021-06-04
    • 1970-01-01
    相关资源
    最近更新 更多