javascript - ASP.Net - 无效的 Json 字符串

标签 javascript c# asp.net json

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

相关文章:

c# - 如何在 Asp.Net 中获取用户的 AD 用户组?

javascript - Node 在执行代码之前等待所有异步调用

javascript - 组合 jquery fade 和幻灯片 jquery-ui 时 jquery stop() 不起作用

javascript - 如果选中复选框则禁用输入

c# - 如何处理设置复杂的单元测试并让他们只测试单元

未找到 C# SQL 连接

java - node.js 和服务器安全问题

c# - IHttpAsyncHandler 和 IObservable 网络请求

javascript - 解释将变量名转换为字符串

c# - 如何将 ActiveDirectoryMembershipProvider 与 ASP.NET Identity 一起使用?