2017-08-08 7 views
0

私のExtJSコンボでコンボストアをロードしようとしています。コンボストアのロード時に 'ステータスコード:405メソッドが許可されていません'

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コンフィグを格納しています。それはExt.data.Model設定だから

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は、ここでは何の効果もありません。別のクラスでモデルを宣言してから、店舗で使用する必要があります。

+0

試してみましたが、あまり挨拶しません。サンプルのjsonデータで質問を更新しました。このjsonと店舗をバインドする方法をいくつか教えてください。 – David

+0

あなたが提供したJSONは有効ではないようです(あなたは "]"がありません)。読者の[rootProperty](http://docs.sencha.com/extjs/6.2.0/classic/Ext.data.reader.Reader.html#cfg-rootProperty)は、JSONデータで判断すると「ROOT」でなければなりません。タグ"。この作業を見てみましょう:https://fiddle.sencha.com/#view/editor&fiddle/24om – scebotari66

+0

これは問題ありません。私はjsonを訂正します。ここでは 'GridStore'ではなく' comboStore'について話しています。 – David

関連する問題