我试图在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. 请帮忙。
答案 0 :(得分:0)
请传递" data.d"直接到"数据"没有格式化为字符串,并使用您的方法正确呈现图表。
参考 - http://jsfiddle.net/sanjuktamukherjee/45u56055/ SampleLink
答案 1 :(得分:0)
我浪费了很多时间。 您只需要将返回的字符串转换为JSON对象。
var chartData = eval("(" + data.d + ')');
然后将chartData传递给融合图表"数据"参数
"data": chartData