Javascript Ext Js:如何从列表加载存储<;字符串>;
这是我从服务器返回的JSON数据。我没有看到我的组合被加载。这里怎么了Javascript Ext Js:如何从列表加载存储<;字符串>;,javascript,extjs,extjs4,Javascript,Extjs,Extjs4,这是我从服务器返回的JSON数据。我没有看到我的组合被加载。这里怎么了 {"suffixList":["-1","-2","-3"]} 型号: 商店: Ext.define('ExtMVC.store.Suffixes', { extend: 'Ext.data.Store', model: 'ExtMVC.model.Suffix', autoLoad : false, proxy: { type: '
{"suffixList":["-1","-2","-3"]}
型号:
商店:
Ext.define('ExtMVC.store.Suffixes', {
extend: 'Ext.data.Store',
model: 'ExtMVC.model.Suffix',
autoLoad : false,
proxy: {
type: 'ajax',
url: 'http://'+window.location.host+'/populateCombo',
reader: {
type: 'json',
root: 'suffixList'
}
}
});
查看:
数据格式不正确。每个记录都应该是一个对象,具有存储区字段的属性。在您的情况下,数据应如下所示:
{"suffixList":[{"suffix": "-1"},{"suffix": "-2"},{"suffix": "-3"}]}
你可以使用
我无法获取这种格式的数据。有没有办法以成功读取数据的方式更改ExtJs模型和存储定义?如果有,我不知道。这可能不太理想,但如果不控制服务器响应格式,则始终可以使用
Ext.ajax.request()
进行ajax调用,并使用store.loadData(myArray.map(函数(x){return{suffix:x}))对数组结果执行代码>。
{
xtype:'combo',
id: 'suffix',
name: 'suffix',
store : 'Suffixes',
displayField: 'suffix',
valueField: 'suffix'
}
{"suffixList":[{"suffix": "-1"},{"suffix": "-2"},{"suffix": "-3"}]}
new Ext.data.ArrayStore({
fields: ['suffix'],
data: {suffixList: ['-1', '-2', '-3']},
proxy: {
type:'memory', //'ajax'
reader: {
type: 'array',
root: 'suffixList'
}
}
})