0

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
});

同じデータを使用して自分で Store を作成すると、グラフは正しく表示されます。

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}
        ]
    });

何が間違っているのかわかりません。どんな助けでも大歓迎です。

4

3 に答える 3

0

データがストアに保存されることを確認しましたか?

次に、「data」フィールドのデータ型が正しくありません。明らかに数字ですが、文字列として指定しました。

于 2012-11-30T21:01:07.283 に答える
0

これは、JSON ではなく文字列として返されたためであることが判明しました。JSONとしてキャストすることで機能しました:

return $.parseJSON(result);
于 2012-12-13T20:28:36.890 に答える
0

例の JSON データには一重引用符が含まれており、有効な JSON ではありません。JSON データはhttp://www.jsonlint.comで確認できます。JSON データでは必ず二重引用符を使用してください。

于 2012-11-30T20:19:00.720 に答える