我正在使用EXT JS 4.1.1。
我有这样的json响应:
{ values: ["A","B","C"] }
然后我有一个这样的模型:
Ext4.define('model', {
extends: 'Ext4.data.model',
fields: [ 'name' ]
});
我正在尝试使用一个值name
创建模型,该值对应于上面的json values
,以便我可以在ComboBox中使用name
值。
Ext4.define('store',{
extend: 'Ext4.data.Store',
model: 'model',
requires: 'model',
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'values',
successProperty: 'success'
}
}
});
我遇到的问题是,在使用name
属性填充我的ComboBox时,它是空的(""
)。 raw
值是正确的,它直接对应于适当的值。
如何将此数组值正确映射到name
模型上的model
字段?
答案 0 :(得分:1)
这实际上并不是一个合适的JSON响应,请将其粘贴到http://jsonlint.com/中,您将亲眼看到。
相反,您的JSON应该如下所示:
{
"values": [
{
"name": "A"
},
{
"name": "B"
},
{
"name": "C"
}
]
}
如果您粘贴到上面的jsonlint链接中,您将看到它是有效的。
商店读者期望在数据中看到“名称”属性,但不能,这就是您看到此行为的原因。