我正在使用ExtJs 4.0。我想在我的图表中读取json文件但是gettig跟随错误 Ext.Error:无法解析服务器返回的JSON:您正在尝试解码无效的JSON字符串。
存储模型:
Ext.define('chartModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'year'},
{name: 'comedy'},
{name: 'action'},
{name: 'drama'},
{name: 'thriller'}
]
});
var myStore = Ext.create('Ext.data.Store', {
model: chartModel,
proxy: {
type: 'ajax',
url : '/data.json',
reader: {
type: 'json',
root: 'data',
method: "GET",
messageProperty: 'jsonData'
}
},
autoLoad: true
});
data.json文件:
data: [{year: 2005, comedy: 34000000, action: 23890000, drama: 18450000, thriller: 20060000}]
答案 0 :(得分:2)
必须引用JSON属性名称才能被视为有效。此外,您的data
必须是对象的属性,例如{"data":[{"year":2005, "comedy":3400000...
。
编辑: Neil说的是正确的。 Ext.decode
不要求属性名称在引号中。但是,JSON standard 需要它们,所以你一定要养成使用它们的习惯。