我想加載一個JSON數據,它通過AJAX請求回覆到網格。 我店的定義:ExtJS store.loadData()不會加載JSON數據
Ext.define('Report.store.CustomerDataStore', {
extend: 'Ext.data.Store',
requires: [
'Report.model.Customer'
],
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
autoLoad: false,
storeId: 'CustomerDataStore',
model: 'Report.model.Customer',
proxy: {
type: 'ajax',
url: '',
reader: {
type: 'json',
root: 'data',
record: 'fields'
}
}
}, cfg)]);
}
});
有一個在我的應用程序的按鈕,其定義如下:
xtype: 'button',
handler: function(button, event) {
var queryform = this.up('form').getForm();
var me = this;
if(queryform.isValid())
{
Ext.Ajax.request({
url: 'customers/', // where you wanna post
success: function(response) {
var mystore = Ext.data.StoreManager.lookup('CustomerDataStore');
var myData = Ext.JSON.decode(response.responseText);
console.log(myData.toSource());
mystore.loadData(myData);
},
jsonData: Ext.JSON.encode(queryform.getValues())
});
}
},
的問題是,我的網格不顯示數據回答!我相信我回復的JSON格式是可以的。我用json文件檢查過它。也myData.toSource()
返回我想要的JSON格式。 我很困惑我做錯了什麼?
你可以幫忙嗎?
但是,這樣我必須在我的商店定義中聲明'url'參數。我對嗎?那麼如何告訴商店從Ext.AJAX.request的回覆中加載數據呢? –
您已經有類型'ajax'的代理並且它下面的url爲空。只需填寫url並調用'store.load()'而不是'Ext.AJAX.request'。 – MarthyM