ASP.Net - 无效的Json字符串

时间:2015-11-01 21:13:14

标签: javascript c# asp.net json

我一直在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>

1 个答案:

答案 0 :(得分:1)

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