ASP.Net-Json字符串无效

ASP.Net - Invalid Json String

本文关键字:无效 字符串 Net-Json ASP      更新时间:2023-09-26

我一直在ASP.Net中开发一个web应用程序,它应该通过web服务类从数据库返回信息。从那里,我希望将数据绑定到谷歌组合图表。

数据可以绑定到网格视图,所以我知道从数据库调用的方法正在工作,但当我试图将其绑定到图表时,我收到错误消息:

Json字符串无效:

文档类型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>

听起来很像您对Default.aspx/GetChartData的调用从托管它的IIS返回一个错误页面。您应该查看jsonData变量,因为它不是json。