2015-11-01 523 views
0

我一直在ASP.Net中开发一个Web应用程序,它应该通过Web Service类从数据库返回信息。 从那里,我希望将数据绑定到Google Combo图表。ASP.Net - 无效的Json字符串

的数据可以被绑定到一个网格视图,所以我知道从数据库调用工作的方法中,但是当我尝试将其绑定到图表I收到错误消息:

JSON字符串无效!

DOCTYPE HTML

HTML语言=“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

我对JSON知之甚少,但是得到你的JSON,并通过这个http://jsonlint.com/来验证它。让你对JSON进行修改并重新验证,这应该有助于你获得某个地方 –

回答

1

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