我一直在 ASP.Net 中开发一个 Web 应用程序,它应该通过 Web 服务类从数据库返回信息。 从那里,我希望将数据绑定(bind)到 Google 组合图表。
数据可以绑定(bind)到 GridView ,因此我知道从数据库调用的方法正在工作,但是当我尝试将其绑定(bind)到图表时,我收到错误消息:
无效的 Json 字符串:
!Doctype HTML
html lang = "en"
这是我第一次使用 javascript,所以我假设我的 javascript 方法访问了错误的数据,但我不确定哪里出了问题。 如果有人能让我知道我做错了什么,我将不胜感激。
默认.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>
最佳答案
听起来很像您对 Default.aspx/GetChartData
的调用从托管它的 IIS 中返回一个错误页面。您应该查看您的 jsonData
变量,因为它不是 json。
关于javascript - ASP.Net - 无效的 Json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33467281/