C# google.Visualization.ColumnChart()不起作用
下面是我的jqueryajax代码,用于使用googleapi创建柱状图C# google.Visualization.ColumnChart()不起作用,c#,jquery,ajax,asp.net-mvc-4,C#,Jquery,Ajax,Asp.net Mvc 4,下面是我的jqueryajax代码,用于使用googleapi创建柱状图 $(document).ready(function () { //load Data Here var chartData = null; $.ajax({ url: '/Dashboard/GetData', type: 'GET', dataType: 'json', da
$(document).ready(function () {
//load Data Here
var chartData = null;
$.ajax({
url: '/Dashboard/GetData',
type: 'GET',
dataType: 'json',
data: '',
success: function (d) {
chartData = d;
},
error: function () {
alert('Error!');
}
}).done(function () {
google.charts.load("current", { packages: ['corechart'] });
drawChart(chartData);
}).fail(function () {
alert("Sorry. Server unavailable. ");
});
});`
function drawChart(d) {
var charData = d;
var data = null;
data = google.visualization.arrayToDataTable(charData);
var view = new google.visualization.DataView(data);
view.setColumns([0, {
type: 'number',
label: data.getColumnLabel(0),
calc: function () { return 0; }
}, {
type: 'number',
label: data.getColumnLabel(1),
calc: function () { return 0; }
}, {
type: 'number',
label: data.getColumnLabel(2),
calc: function () { return 0; }
}, {
type: 'number',
label: data.getColumnLabel(3),
calc: function () { return 0; }
}
]);
var options = {
title: 'Bodily Analysis',
legend: 'bottom',
hAxis: {
title: 'Year',
format: '#'
},
vAxis: {
minValue: 0,
maxValue: 1000,
title: 'Measurements'
},
chartArea: {
left: 100,
top: 50,
width: '70%',
height: '50%'
},
animation: {
duration: 1000
}
};
alert(data);
var chart = new google.visualiztion.ColumnChart(document.getElementById('visualization'));
alert(data);
var runFirstTime = google.visualization.events.addListener(chart, 'ready', function () {
google.visualization.events.removeListener(runFirstTime);
chart.draw(data, options);
});
chart.draw(view, options);
}
这是我的MVC控制器,它以JSON的形式从数据库返回数据
public JsonResult GetData()
{
List<BusinessContact> Bc = new List<BusinessContact>();
using (BusinessContContext db = new BusinessContContext())
{
Bc = db.BusinessContacts.OrderBy(a => a.birthDate).ToList();
}
var charData = new object[Bc.Count + 1];
charData[0] = new object[]
{
"Birth",
"height",
"ChestMeasurement",
"Weight"
};
int j = 0;
foreach (var i in Bc)
{
j++;
charData[j] = new object[]
{
Convert.ToDateTime(i.birthDate).Year,
Convert.ToUInt32(i.height),
Convert.ToUInt32(i.ChestMeasurement),
Convert.ToUInt32(i.Weight)
};
}
return new JsonResult{Data = charData, JsonRequestBehavior = JsonRequestBehavior.AllowGet};
}
我需要帮助。嗨@Akinnifesi Damilola,在那条线之前的警报是否给出了预期结果?单击第一个警报的“确定”后,是否在浏览器控制台中看到任何错误?这些错误说明了什么?感谢@mwwallace8的快速响应,我在不同的点上放置了警报,它们都命中了,在那一行之前的警报出现了,但是之后的警报没有出现。作为一个例子,我得到了一个空页面,我是否需要向你展示我从MVC获得的json结果。我认为你应该在浏览器中打开开发工具(f12)并用该行查找控制台错误。好的,谢谢,让我试一试以下是我得到的错误:[1]仪表板:135未捕获引用错误:$未定义(匿名函数)@DashBoard:135[2]loader.js:147未捕获错误:Google Charts loader.js只能加载一次。(匿名函数)@loader.js:147(匿名函数)@loader.js:147 DashBoard:705[3]未捕获类型错误:colors.each不是函数(匿名函数)@DashBoard:705[4]loader.js:144未捕获错误:google.charts.load()不能被多次调用。
var chart = new google.visualiztion.ColumnChart(document.getElementById('visualization'));