FusionCharts MVC - JSON结果不绑定数据

时间:2015-03-16 10:13:13

标签: javascript c# ajax json fusioncharts

我试图在fusionchart最新的javascript版本中创建一个简单的条形图(column2d)。在本练习中,我能够从我的c#代码中获取JSON strigify输出,但是当我将返回值绑定到fusionchart数据时,它无法正常工作。 我的AJAX电话,

  $.ajax({
            type: 'POST',
            url: "Reports/GetTicketAnalysisChartData",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
              var revenueChart = new FusionCharts({
                    "type": "column2d",
                    "renderAt": "chartContainer",
                    "width": "500",
                    "height": "300",
                    "dataFormat": "json",
                    "dataSource": {
                        "chart": {
                            "caption": "Monthly revenue for last year",
                            "subCaption": "Harry's SuperMart",
                            "xAxisName": "Month",
                            "yAxisName": "Revenues (In USD)",
                            "theme": "fint"
                        },
                        "data": data.d
                    }

                });
                revenueChart.render();
            },
            error: function (xhr, ErrorText, thrownError) {
                //alert(xhr.responseText);
                $("#chartContainer").html(xhr.responseText);
            }
        });

如果我取json输出,即“data.d”字符串并将其放在“data”参数中,如下所示,那么它正在工作。

"data" : [{"label":"abc","value":"15"},{"label":"xyz","value":"10"},{"label":"asdf","value":"12"},{"label":"ghi","value":"11"}]

当我作为对象“data”传递时它不起作用:data.d. 请帮忙。

2 个答案:

答案 0 :(得分:0)

请传递" data.d"直接到"数据"没有格式化为字符串,并使用您的方法正确呈现图表。

参考 - http://jsfiddle.net/sanjuktamukherjee/45u56055/ SampleLink

答案 1 :(得分:0)

我浪费了很多时间。 您只需要将返回的字符串转换为JSON对象。

    var chartData = eval("(" + data.d + ')');

然后将chartData传递给融合图表"数据"参数

    "data": chartData