Jquery 由于难以将数据转换为所需格式,无法在Highcharts柱形图上向下展开
关于上发布的问题,我如何使用ajax从控制器返回以下格式的数据?令人困惑的是,如果数据属性是一个对象数组——带有一个字符串和一个整数属性;那么为什么属性名称不与数据一起出现呢?如果它是数组的数组,那么如何能够拥有不同类型的项目数组Jquery 由于难以将数据转换为所需格式,无法在Highcharts柱形图上向下展开,jquery,asp.net-mvc,asp.net-mvc-3,highcharts,Jquery,Asp.net Mvc,Asp.net Mvc 3,Highcharts,关于上发布的问题,我如何使用ajax从控制器返回以下格式的数据?令人困惑的是,如果数据属性是一个对象数组——带有一个字符串和一个整数属性;那么为什么属性名称不与数据一起出现呢?如果它是数组的数组,那么如何能够拥有不同类型的项目数组 { 'Animals': { name: 'Animals', data: [ ['Cows', 2],
{
'Animals': {
name: 'Animals',
data: [
['Cows', 2],
['Sheep', 3]
]
},
'Fruits': {
name: 'Fruits',
data: [
['Apples', 5],
['Oranges', 7],
['Bananas', 2]
]
},
'Cars': {
name: 'Cars',
data: [
['Toyota', 1],
['Volkswagen', 2],
['Opel', 5]
]
}
}
我正在使用以下代码调用控制器:
$('#container').highcharts({
chart: {
type: 'column',
events: {
drilldown: function (e) {
if (!e.seriesOptions) {
var chartObject = this;
$.ajax({
url: '@Url.Action("ActionMethodName")',
type: "GET",
cache: false,
data: e.point.name,
datatype: "json",
success: function (dataList) {
debugger;
var chart = chartObject,
drilldowns = dataList, //dataList must be in the required format.
series = drilldowns[e.point.name];
chart.addSeriesAsDrilldown(e.point, series);
},
error: function () {
}
});
// The rest of the code below
//
//
如果使用该格式生成类,然后将该类的对象作为操作结果中的序列化内容返回,则效果更好。因此,您需要执行以下操作 1) 从JSon格式创建类。有多个在线工具可用于这类应用 2) 填充类的对象后,可以使用Javascript序列化程序序列化该对象
string json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Object);
3) 从操作结果返回json字符串
return Content(json);
你能添加一个
jsfiddle
链接供我们编辑吗?@paweł-fus你能解释一下吗?