FusionCharts MVC - JSON Result 未绑定数据



我试图在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.d。请帮忙。

请将"data.d"直接传递给"data",不要格式化为字符串,图表会使用您的方法正确呈现。

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

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

    var chartData = eval("(" + data.d + ')');
然后将图表数据

传递给融合图表的"数据"参数

    "data": chartData

最新更新