После многих исследований, вот мой вопрос:
Я пытаюсь заполнить поле со списком Extjs с помощью JSON. (Json генерируется SQL-запросом в сервлете Java).
Вот мой код ext-js:
function createComboBox(){
var store = Ext.create('Ext.data.JsonStore', {
autoLoad : true,
url : 'SourceType',
method : 'POST',
fields : ['sourceName'],
proxy : {
type : 'memory',
reader : {
type : 'json',
root : 'data',
}
}
});
store.load();
return store;
}
И вот как я помещаю comboBox в элементы Ext.form.Panel:
var store = createComboBox();
Ext.create('Ext.form.Panel', {
bla bla
items : [
{
xtype : 'combo',
store : 'store',
name : 'combobox',
fieldLabel : 'Select ',
displayField : 'sourceName',
queryMode : 'local'
}
]
)};
Можете ли вы объяснить мне, почему это не работает?
Прокси-сервер вашего магазина имеет тип, определенный как 'memory'
Как определено в документах sencha:
Прокси-сервер в памяти. Этот прокси-сервер просто использует локальную переменную для хранения/извлечения данных,
Вам, вероятно, потребуется настроить тип прокси-сервера как ajax
или jsonp
и убедиться, что URL-адрес указанной службы верен.
extraParams:[]
вurl
или вextraParams:[]
прокси. Вот пример модели, которую я использую с необходимой информацией о прокси (вы можете использовать эту информацию о прокси в создаваемом вами jsonstore ) gist.github.com/weeksdev/8149579#file-model-js