我一直在ASP.Net中开发一个Web应用程序,它应该通过Web Service类从数据库返回信息。 从那里,我希望将数据绑定到Google Combo图表。
数据可以绑定到网格视图,所以我知道从数据库调用的方法是有效的,但是当我尝试将它绑定到图表时,我收到错误消息:
无效的Json字符串:
!Doctype HTML
html lang =“en”
这是我第一次使用javascript,所以我假设我的javascript方法正在访问错误的数据,但我不确定我哪里出错了。 如果有人能让我知道我做错了什么,我们将不胜感激。
Default.aspx的
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<html>
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
google.load("visualization", "1", { packages: ["corechart"] });
google.setOnLoadCallback(drawVisualization);
function drawVisualization() {
var jsonData = $.ajax({
url: "Default.aspx/GetChartData",
dataType: "json",
async: false
}).responseText;
var data = new google.visualization.DataTable(jsonData);
var options = {
title: 'Chart Title',
vAxis: { title: 'Scores %' },
hAxis: { title: 'Counties' },
seriesType: 'bars',
series: {
2: {
targetAxisIndex: 1
},
vAxes: {
1: {
title: '1',
textStle: { color: 'red' }
}
}
}
};
var chart = new google.visualization.ComboChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<asp:GridView ID="Grid1D" runat="server"
AutoGenerateColumns = "true" Font-Names = "Arial"
Font-Size = "11pt" AlternatingRowStyle-BackColor = "#C2D69B"
HeaderStyle-BackColor = "green" AllowPaging ="true"
PageSize = "10" Caption = "1-Dimensional Array">
</asp:GridView>
<div id ="chart_div" style="width:500px;height:400px"></div>
<asp:Literal ID="ltScripts" runat="server"></asp:Literal>
</body>
</html>
答案 0 :(得分:1)
听起来很像你对Default.aspx/GetChartData
的调用从托管它的IIS返回一个错误页面。你应该看看你的jsonData
变量,因为它不是json。