【发布时间】:2016-08-29 12:17:44
【问题描述】:
我正在尝试使用 Google API 显示折线图。同样,我尝试从 ASP.net Webmethod 格式化数据,例如
[WebMethod]
public static List<object> GetChartData()
{
List<object> chartData = new List<object>();
chartData.Add(new object[]
{
"DateTime", "Bugs"
});
chartData.Add(new object[]
{
"2011", "12",
"2014","45",
"2015","40",
"2016","98"
});
return chartData;
}
这是我的客户端代码。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", { packages: ["corechart"] });
google.setOnLoadCallback(drawChart);
function drawChart() {
var options = {
title: 'Bug Tracker'
};
$.ajax({
type: "POST",
url: "WebForm1.aspx/GetChartData",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (r) {
var data = google.visualization.arrayToDataTable(r.d);
var chart = new google.visualization.LineChart($("#chart")[0]);
chart.draw(data, options);
},
failure: function (r) {
alert(r.d);
},
error: function (r) {
alert(r.d);
}
});
}
</script>
在运行上述代码时,我收到类似0x800a139e - JavaScript runtime error: Row 0 has 8 columns, but must have 2 的错误,这是什么问题以及如何解决?
【问题讨论】:
-
请在 ajax 响应中写入数据,并将其放入 fiddle 以便我们结帐
标签: javascript c# jquery asp.net google-visualization