我正在使用Extjs6。我想从服务器获取数据并将数据加载到组合框。但是,当我获得数据根属性并且成功值不包含数据时,它仍然可以成功调用,但无法将数据加载到组合框。
任何帮助将不胜感激!
下面是代码段: 我有如下所示的组合框:
xtype : 'thrcombobox',
fieldLabel : 'Select District',
store : Ext.create('thr.store.admin.master.DistrictStore'),
itemId : 'cmbDistrict',
name : 'cmbDistrict',
displayField : 'districtMarathi',
valueField : 'districtID',
queryMode : 'local'
以下是商店:
Ext.define('thr.store.admin.master.DistrictStore',{
extend : 'Ext.data.Store',
alias : 'store.districtStore',
storeId : 'districtStore',
requires : [
'thr.model.admin.master.District'
],
model : 'thr.model.admin.master.District',
autoSync : false,
autoLoad : false,
proxy: {
type : 'memory',
reader : {
type : 'json',
rootProperty: 'data'
}
}
});
下面是Model:
Ext.define('thr.model.admin.master.District',{
extend : 'Ext.data.Model',
fields : [
{
name : 'districtID'
},
{
name : 'districtMarathi'
},
{
name : 'districtEnglish'
}
]
});
下面是ajax调用,我在其中获取要存储的数据:
var districtStore = districtCombobox.getStore();
districtStore.loadData([]);
在districtStore上方定义组合框的存储。
Ext.Ajax.request({
url: <path goes here..>,
method: 'POST',
success: function(response, action){
var decodedResponse = Ext.decode(response.responseText);
if(!Ext.isEmpty(decodedResponse) && decodedResponse.success){
districtStore.loadData(decodedResponse.data);
}
},
failure: function(form, action){
return false;
}
});