使用JSON填充ext-js组合框

时间:2014-07-14 13:06:30

标签: java json servlets extjs

经过多次研究,这是我的问题:

我尝试使用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'
 }
]
)};

你能解释一下为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

您商店的代理的类型定义为'memory',如sencha docs中所定义:

  

内存代理。此代理仅使用本地变量进行数据   存储/检索,

您可能需要将代理类型设置为ajaxjsonp,并确保指定服务的网址正确无误。