2017-08-08 115 views
0

我想在我的ExtJS組合中加載comboStore。'狀態代碼:405方法不允許'加載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方法不允許'。

這可能是什麼原因造成的。

JSON

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

回答

0

的 「URL」 和 「讀者」 CONFIGS您已經擺在店面,實際上存儲proxy CONFIGS。

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配置。您應該將模型聲明在單獨的類中,然後在商店中使用它。

+0

嘗試但不是問候太多的效果。我用一個樣本json數據更新了我的問題,請您介紹一下如何使用此json綁定我的商店。 – David

+0

您提供的JSON似乎不是有效的(您錯過了「]」)。根據JSON數據判斷,讀者的[rootProperty](http://docs.sencha.com/extjs/6.2.0/classic/Ext.data.reader.Reader.html#cfg-rootProperty)應該是「ROOT」。標籤」。看看這個工作小提琴:https://fiddle.sencha.com/#view/editor&fiddle/24om – scebotari66

+0

這很好。我糾正了JSON。這裏我說的是'comboStore'而不是'GridStore'。 – David