Я пытаюсь загрузить данные 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