[英]Why Google Chart does not work ASP MVC app?
我的控制器上有方法,返回 Json
[HttpPost]
public JsonResult CompanyChart()
{
var data = db.adusers;
var selectUsers = from s in data where (s.Company != null) select s;
int fenixPlus = (from fP in data where (fP.Company == "ООО \"Феникс+\"") select fP).Count();
int fenixPresent = (from fP in data where (fP.Company == "ООО \"Феникс-Презент\"") select fP).Count();
var dataObj = new object[]
{
new object[] {"Компания","Количество"},
new object[] { "ООО \"Феникс+\"", fenixPlus},
new object[] { "ООО \"Феникс-Презент\"", fenixPresent}
};
return Json(dataObj, JsonRequestBehavior.AllowGet);
}
Json 看起來像這樣[["Компания","Количество"],["ООО \\"Феникс+\\"",53],["ООО \\"Феникс-Презент\\"",42]]
在我看來,我有一個 jquery 發布請求
$.ajax({
url: '@Url.Action("CompanyChart", "Users")',
type: 'post',
dataType: "json",
success: function (data) {
drawChart(data);
}
});
然后,我嘗試繪制谷歌餅圖
google.charts.load("current", { packages: ["corechart"] });
google.charts.setOnLoadCallback(drawChart);
function drawChart(data) {
var array = JSON.parse(data);
var dataV = new google.visualization.DataTable(array);
var options = {
title: 'My Daily Activities',
pieHole: 0.4,
};
var chart = new google.visualization.PieChart(document.getElementById('donutchart'));
chart.draw(dataV, options);
};
不工作,控制台出錯Uncaught SyntaxError: Unexpected token К in JSON at position 0
我不明白,為什么我的代碼不起作用?
JsonResult
向調用者返回一個 JSON object
而不是一串 JSON 內容,因此,您不需要調用JSON.parse
。
簡單地改變
var array = JSON.parse(data);
到
var array = data;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.