Asp.net mvc 4 amcharts饼图不会加载数据

Asp.net mvc 4 amcharts饼图不会加载数据,asp.net-mvc-4,amcharts,Asp.net Mvc 4,Amcharts,控制器: 模型:所有实现细节都包含太多的代码,但它确实返回了有效的JSON字符串模型。getStatus将使用以下方法返回jsonResult: JSON文件以这种格式返回数据 { "project.Tasks_Status": [ { "TaskName": "Task 1", "TaskCompleted": 1000.0 }, { "TaskName": "Task 2", "TaskCompleted": 0.0

控制器:

模型:所有实现细节都包含太多的代码,但它确实返回了有效的JSON字符串模型。getStatus将使用以下方法返回jsonResult:

JSON文件以这种格式返回数据

{
  "project.Tasks_Status": [
    {
      "TaskName": "Task 1",
      "TaskCompleted": 1000.0
    },
    {
      "TaskName": "Task 2",
      "TaskCompleted": 0.0
    },
    ...
  ]
}
看法

问题是,一旦我加载我的视图,VS就会抛出一个异常,并在我的脚本标记中突出显示上述代码,并显示以下错误消息:

中第1行第5209列的未处理异常 0x800a01bd-JavaScript运行时错误:对象不支持此操作


有人对阿姆查特很熟悉,能帮我吗?非常感谢。提前感谢您提供的任何帮助。

您的代码有两个问题:

1由于您正在制作饼图,因此需要在视图中包含pie.js。serial.js用于行和列:

<script src="http://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="http://www.amcharts.com/lib/3/pie.js"></script>
<script src="http://www.amcharts.com/lib/3/plugins/dataloader/dataloader.min.js"></script>
您需要修复负载以仅返回数组,或者使用dataloader的回调从负载中指定project.Tasks\U Status属性中的数组:

"dataLoader": {
    "url": "../Home/GetTaskStatus",
    "format": "json",
    "postProcess": function(data) {
        return data["project.Tasks_Status"];
    }
}

天才纯粹的天才多纳泰罗TMNT
<script src="http://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="http://www.amcharts.com/lib/3/serial.js"></script>
<script src="http://www.amcharts.com/lib/3/plugins/dataloader/dataloader.min.js"></script>

<div id="chartdiv" style="width: 100%; height: 500px;"></div>
<script>
  var chart = AmCharts.makeChart( "chartdiv", {
    "type": "pie",
    "theme": "light",
    "titleField": "TaskName",
    "valueField": "TaskCompleted",
    "dataLoader": {
        "url": "../Home/GetTaskStatus",
        "format": "json"
    },
  });
</script>
<script src="http://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="http://www.amcharts.com/lib/3/pie.js"></script>
<script src="http://www.amcharts.com/lib/3/plugins/dataloader/dataloader.min.js"></script>
[
    {
      "TaskName": "Task 1",
      "TaskCompleted": 1000.0
    },
    {
      "TaskName": "Task 2",
      "TaskCompleted": 0.0
    },
    ...
]
"dataLoader": {
    "url": "../Home/GetTaskStatus",
    "format": "json",
    "postProcess": function(data) {
        return data["project.Tasks_Status"];
    }
}