2017-04-20 180 views
0

我想使用chart.js顯示條形圖。使用chart.js時不顯示條形圖

數據JSON在另一個名爲barchart.txt的文件中,我從中讀取它的函數。它看起來像數據格式不正確,因爲當我把警報放在第一行的功能,即使這不起作用。

barchart.txt和Default.aspx都位於同一位置。

barchart.txt

{ 
     labels: ["January", "February", "March", "April", "May", "June", "July"], 
    datasets: [ 
    { 
       label: "Dataset Testing", 
     backgroundColor: [ 
      'rgba(255, 99, 132, 0.2)', 
      'rgba(54, 162, 235, 0.2)', 
      'rgba(255, 206, 86, 0.2)', 
      'rgba(75, 192, 192, 0.2)', 
      'rgba(153, 102, 255, 0.2)', 
      'rgba(255, 159, 64, 0.2)' 
     ], 
     borderColor: [ 
     'rgba(255,99,132,1)', 
     'rgba(54, 162, 235, 1)', 
     'rgba(255, 206, 86, 1)', 
     'rgba(75, 192, 192, 1)', 
     'rgba(153, 102, 255, 1)', 
     'rgba(255, 159, 64, 1)' 
       ], 
     borderWidth: 1, 
     data: [65, 59, 80, 81, 56, 55, 40], 
    } 
     ] 
} 

Default.aspx的

<html> 
    <canvas id="mybarChart1"></canvas> 
</html> 

<script> 
    $.getJSON("barchart.txt", function (data) 
      { 
       alert("here"); 
       var ctx = document.getElementById("mybarChart1"); 
       var myChart = new Chart(ctx, { 
        type: 'bar', 
        data: data, 
        options: { 
         scales: { 
          yAxes: [{ 
           ticks: { 
            beginAtZero: true 
           } 
          }] 
         } 
        } 
       }); 
      }); 
</script> 
+0

我已經貼上面barchart.txt的代碼試試。我只是學習JSON,所以我做了另一個例子json2.txt,我寫了一些示例數據並閱讀它,它工作正常。同樣,如果我將粘貼JSON從barchart.txt複製到Default.aspx並將其保存在變量中,如var mydata = {整個數據在這裏},那麼它工作正常。 –

回答

2

問題只在於你barchart.txt,很顯然,這不是一個有效的JSON對象。一個合適的JSON對象看起來像{"key": "string"},你可以參考here瞭解更多關於JSON

也,你應該改變你的barchart文件的擴展名從.txt.json

所以,你barchart.json文件中的數據應該是這樣的......

{ 
    "labels": ["January", "February", "March", "April", "May", "June", "July"], 
    "datasets": [{ 
     "label": "Dataset Testing", 
     "backgroundColor": [ 
      "rgba(255, 99, 132, 0.2)", 
      "rgba(54, 162, 235, 0.2)", 
      "rgba(255, 206, 86, 0.2)", 
      "rgba(75, 192, 192, 0.2)", 
      "rgba(153, 102, 255, 0.2)", 
      "rgba(255, 159, 64, 0.2)" 
     ], 
     "borderColor": [ 
      "rgba(255,99,132,1)", 
      "rgba(54, 162, 235, 1)", 
      "rgba(255, 206, 86, 1)", 
      "rgba(75, 192, 192, 1)", 
      "rgba(153, 102, 255, 1)", 
      "rgba(255, 159, 64, 1)" 
     ], 
     "borderWidth": 1, 
     "data": [65, 59, 80, 81, 56, 55, 40] 
    }] 
} 
1

你的json無效。您可以驗證在這裏http://jsonlint.com/

{ 
"labels": [ 
    "January", 
    "February", 
    "March", 
    "April", 
    "May", 
    "June", 
    "July" 
], 
"datasets": [ 
    { 
     "label": "Dataset Testing", 
     "backgroundColor": [ 
      "rgba(255, 99, 132, 0.2)", 
      "rgba(54, 162, 235, 0.2)", 
      "rgba(255, 206, 86, 0.2)", 
      "rgba(75, 192, 192, 0.2)", 
      "rgba(153, 102, 255, 0.2)", 
      "rgba(255, 159, 64, 0.2)" 
     ], 
     "borderColor": [ 
      "rgba(255,99,132,1)", 
      "rgba(54, 162, 235, 1)", 
      "rgba(255, 206, 86, 1)", 
      "rgba(75, 192, 192, 1)", 
      "rgba(153, 102, 255, 1)", 
      "rgba(255, 159, 64, 1)" 
     ], 
     "borderWidth": 1, 
     "data": [ 
      65, 
      59, 
      80, 
      81, 
      56, 
      55, 
      40 
     ] 
    } 
]} 

上述JSON