FusionCharts MVC — результат JSON без привязки данных

Я пытаюсь создать простую гистограмму (column2d) в последней версии javascript fusionchart. В этом упражнении я могу получить вывод 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. Пожалуйста помоги.


person Gnanasekaran Kuppusamy    schedule 16.03.2015    source источник
comment
Любая помощь могла бы быть полезна.   -  person Gnanasekaran Kuppusamy    schedule 17.03.2015


Ответы (2)


Пожалуйста, передайте «data.d» непосредственно в «данные» без форматирования в виде строки, и диаграмма будет отображаться правильно с использованием вашего метода.

Ref.- http://jsfiddle.net/sanjuktamukherjee/45u56055/SampleLink

person Sanjukta Mukherjee    schedule 17.03.2015

Я потратил много времени на это. Вам просто нужно преобразовать строку, которую вы вернули, в объект JSON.

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

а затем передать chartData параметру «данные» диаграммы слияния

    "data": chartData
person EagleTom    schedule 12.07.2016