经过多次研究,这是我的问题:
我尝试使用JSON填充Extjs组合框。 (Json是由java servlet中的SQL查询生成的)。
这是我的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'
}
]
)};
你能解释一下为什么这不起作用?
答案 0 :(得分:1)
您商店的代理的类型定义为'memory'
,如sencha docs中所定义:
内存代理。此代理仅使用本地变量进行数据 存储/检索,
您可能需要将代理类型设置为ajax
或jsonp
,并确保指定服务的网址正确无误。