Javascript Sencha Touch-存储未解析JSON数据
我有一个从WCF服务获取JSON数据的存储。商店正在调用web服务并获取数据,但我的图表仍然没有显示任何数据,因此我假设它没有正确解析数据 这是我的代码:Javascript Sencha Touch-存储未解析JSON数据,javascript,json,sencha-touch,Javascript,Json,Sencha Touch,我有一个从WCF服务获取JSON数据的存储。商店正在调用web服务并获取数据,但我的图表仍然没有显示任何数据,因此我假设它没有正确解析数据 这是我的代码: // Define Model Ext.regModel('chart1model', { fields: [ {name: 'name', type: 'string'}, {name: 'data', type: 'string'} ] }); var store1 = new Ext.
// 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}
]
});
我不确定我做错了什么。任何帮助都将不胜感激 示例中的JSON数据有单引号,这不是有效的JSON。您可以在上检查JSON数据。确保在JSON数据中使用双引号。您是否已验证数据是否在存储中结束
其次,“数据”字段的数据类型不正确。它显然是一个数字,但您已经将其指定为字符串。结果表明,这是因为它是作为字符串而不是JSON返回的。通过将其转换为JSON,它可以工作:
return $.parseJSON(result);
你确定JSON的构造正确吗?@LeandroBarreto-我很有信心。在我的第二个示例中,“data:”标识符后面的内容正是调用web服务时返回的内容?模型是否正确?@LeandroBarreto在我看到的示例中,您不需要在请求中设置它,但我尝试了它,但仍然没有成功。您是否可以完全按照从服务器检索JSON数据的方式添加JSON数据。当我手动将其添加到存储中时,它工作正常,但无论如何,我将字符串更改为使用双引号。它在验证程序中运行时没有出现错误,但它仍然无法与图表一起工作。是的,字符串是由于尝试随机操作而产生的错误。我把它改回了整数,但还是没有运气。我相当肯定这些数据不在商店里。不过,我不完全确定如何验证这一点。