2017-03-06 170 views
1
<script src="../BootStrapFiles/jsapi" type="text/javascript"></script>  
<script type="text/javascript"> 
    google.load('visualization', '1', { packages: ['corechart'] }); 
    // google.load('visualization', '1.1', { 'packages': ['bar'] }); 
</script> 
<script type="text/javascript"> 
    $(function() { 
     $.ajax({ 
      type: 'POST', 
      dataType: 'json', 
      contentType: 'application/json', 
      url: 'Default.aspx/GetChartData', 
      data: '{}', 
      success: 
      function (response) { 
       drawchart(response.d); 
      }, 

      error: function() { 
       alert("Error loading data!"); 
      } 
     }); 
    }) 
    function drawchart(dataValues) { 
     var data = new google.visualization.DataTable(); 
     data.addColumn('string', 'Year'); 
     data.addColumn('number', 'Total amount'); 
     // data.addColumn('string', 'Total amount2'); 

     for (var i = 0; i < dataValues.length; i++) { 
      // data.addRows([dataValues[i].Year, dataValues[i].Total], dataValues[i].Year); 
      data.addRow([dataValues[i].Year, dataValues[i].Total]); 
     } 

     // new google.visualization.PieChart 
     // new google.visualization.BarChart( //LineChart //ColumnChart //ComboChart 
     new google.visualization.PieChart(document.getElementById('myChartDivPie')). 
     draw(data, { title: "Sales Pie chart last 8 days " }); 

     new google.visualization.ColumnChart(document.getElementById('myChartDiv')). 
     draw(data, { title: "Sales Column chart last 8 days " }); 

    } 
</script> 

這是我的代碼,當我在visual studio 2010上運行它運行完美。但是當試圖在Visual Studio 2015圖表上運行時,並沒有出現。請你幫我解決一下我在做什麼錯誤。是版本問題還是別的什麼?我的代碼是在visual studio 2010中開發的。每件事情都很完美,但圖表不可見。jsapi不在視覺工作室2015

回答

0

第一:沒有與load聲明

你不應該嘗試使用google.visualization命名空間,直到後callback已經解僱相關的callback ...

看到下面的代碼片段.. 。

<script src="../BootStrapFiles/jsapi" type="text/javascript"></script> 
<script type="text/javascript"> 
    google.load('visualization', '1', { 
     // set callback 
     callback: getData, 
     packages: ['corechart'] 
    }); 
</script> 
<script type="text/javascript"> 
    // load google first 
    function getData() { 
     $.ajax({ 
      type: 'POST', 
      dataType: 'json', 
      contentType: 'application/json', 
      url: 'Default.aspx/GetChartData', 
      data: '{}', 
      success: 
      function (response) { 
       drawchart(response.d); 
      }, 

      error: function() { 
       alert("Error loading data!"); 
      } 
     }); 
    } 
    function drawchart(dataValues) { 
     var data = new google.visualization.DataTable(); 
     data.addColumn('string', 'Year'); 
     data.addColumn('number', 'Total amount'); 
     // data.addColumn('string', 'Total amount2'); 

     for (var i = 0; i < dataValues.length; i++) { 
      // data.addRows([dataValues[i].Year, dataValues[i].Total], dataValues[i].Year); 
      data.addRow([dataValues[i].Year, dataValues[i].Total]); 
     } 

     // new google.visualization.PieChart 
     // new google.visualization.BarChart( //LineChart //ColumnChart //ComboChart 
     new google.visualization.PieChart(document.getElementById('myChartDivPie')). 
     draw(data, { title: "Sales Pie chart last 8 days " }); 

     new google.visualization.ColumnChart(document.getElementById('myChartDiv')). 
     draw(data, { title: "Sales Column chart last 8 days " }); 

    } 
</script> 

下一個:建議使用loader.js,而不是jsapi

根據 release notes

...

谷歌排行榜的版本通過jsapi裝載機不再被持續更新的剩餘可用。從現在起請使用新的gstatic loader

它出現在庫中被下載到本地文件夾

較新的庫可以在這裏找到...

<script src="https://www.gstatic.com/charts/loader.js"></script>

這隻會改變load聲明...

google.charts.load('current', { 
     // set callback 
     callback: getData, 
     packages: ['bar'] 
    }); 
+0

謝謝你太多@whiteHat。這對我很有用,再次感謝你。 – user3402966

+0

#whitehat我希望我可以:D但我很不幸 – user3402966