2015-11-01 4 views
0

Я разрабатываю веб-приложение в ASP.Net, которое должно возвращать информацию из базы данных через класс веб-службы. Оттуда я хочу привязать данные к диаграмме Google Combo.ASP.Net - Invalid Json String

Данные могут быть связаны с видом сетки, так что я знаю, метод для вызова из базы данных работает, но когда я пытаюсь связать его с таблицей я получаю сообщение об ошибке:

Invalid 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> 

+0

Я очень мало знаю о JSON, но получаю JSON и проверяю его через этот http://jsonlint.com/ внесите изменения в JSON и подтвердите его, и это должно помочь вам где-то добраться –

ответ

1

Звучит очень похоже на ваш призыв к Default.aspx/GetChartData возвращает страницу ошибки с IIS, на котором размещена его. Вы должны взглянуть на свою переменную jsonData, так как это ничего, кроме json.