我有一个从WCF服务获取JSON数据的商店。商店正在调用Web服务并获取数据,但我的图表仍然没有显示数据,因此我假设它没有正确解析它。
这是我的代码:
// Define Model
Ext.regModel('chart1model', {
fields: [
{name: 'name', type: 'string'},
{name: 'data', type: 'string'}
]
});
var store1 = new Ext.data.Store({
model: 'chart1model',
proxy: {
type: 'ajax',
url: 'http://localhost:8523/WebService/GetChartData?chartType=1',
reader: {
type: 'json'
}
},
autoLoad: true
});
如果我自己创建相同的数据并创建商店,则图表会正确显示:
var store1 = new Ext.data.JsonStore({
fields: ['name', 'data'],
data: [
{'name':'Nov-09','data':0},{'name':'Nov-10','data':0},{'name':'Nov-11','data':0},{'name':'Nov-12','data':0},{'name':'Nov-13','data':0},{'name':'Nov-14','data':0},{'name':'Nov-15','data':0},{'name':'Nov-16','data':0},{'name':'Nov-17','data':0},{'name':'Nov-18','data':0},{'name':'Nov-19','data':0},{'name':'Nov-20','data':0},{'name':'Nov-21','data':0},{'name':'Nov-22','data':0},{'name':'Nov-23','data':0},{'name':'Nov-24','data':0},{'name':'Nov-25','data':0},{'name':'Nov-26','data':0},{'name':'Nov-27','data':0},{'name':'Nov-28','data':0},{'name':'Nov-29','data':0},{'name':'Nov-30','data':0}
]
});
我不确定我做错了什么。任何帮助将不胜感激。
答案 0 :(得分:0)
您的示例中的JSON数据具有单引号,并且这不是有效的JSON。您可以在http://www.jsonlint.com上查看您的JSON数据。确保在JSON数据中使用双引号。
答案 1 :(得分:0)
您是否确认数据最终存储在商店中?
其次,“数据”字段的数据类型不正确。这显然是一个数字,但你已经将它指定为一个字符串。
答案 2 :(得分:0)
原来这是因为它以字符串形式返回而不是JSON。通过将其转换为JSON,它可以工作:
return $.parseJSON(result);