2016-07-03 35 views
-1

我已經徹底搜索了一個答案,一直沒有能夠跟蹤任何事情,這爲我清除了這個。從mySQL數據庫中的值設置Javascript值

我正在構建一個簡單的webapp,它有一個java/mySQL後端和html/js前端。在我的前端,我使用數據庫中的值與chart.js庫結合使用以可視化數據。我使用的是後端Jersey框架和已經編寫的代碼,將返回當合適的URL傳遞所需的值 - 例如:

http://localhost:8080/rest/database/chart/get/labels 

回報

[「測試」,「測試2」 ,「test3」,「test4」,「test5」]

我需要通過我的圖表爲圖表上軸的名稱數組。

現在,我的圖表軸與佔位符,這是由腳本名爲.js決定名稱:

function loadChartLabels() { 
    var xhttp = new XMLHttpRequest(); 
    var returnArray = []; 
    xhttp.onreadystatechange = function() { 
     if (xhttp.readyState == 4 && xhttp.status == 200) { 
      returnArray = xhttp.responseText; 
     } 
    }; 
    xhttp.open("GET", "http://localhost:8080/rest/database/chart/get/labels", true); 
    xhttp.send(); 

    return ["Eating", "Drinking", "21Test", "21Test1", "21Test2", "21Test3", "21Test4"]; 
    //window.alert(returnArray.toString); 
    //return returnArray; 
} 

,這裏是我的圖表腳本:

var testArray = loadChartLabels(); 

var radarData = { 
        labels: testArray, 
        datasets: [ 
         { 
          label: "My First dataset", 
          fillColor: "rgba(140,70,120,0.5)", 
          strokeColor: "#ACC26D", 
          pointColor: "#fff", 
          pointStrokeColor: "#9DB86D", 
          data: [65, 59, 90, 81, 56, 55, 40] 
         }, 
         { 
          label: "My Second dataset", 
          fillColor: "rgba(172,194,132,0.4)", 
          strokeColor: "#ACC26D", 
          pointColor: "#fff", 
          pointStrokeColor: "#9DB86D", 
          data: [28, 48, 40, 19, 96, 27, 100] 
         } 
        ] 
       }; 

       var habits = document.getElementById("habits").getContext("2d"); 

       new Chart(habits).Radar(radarData); 

我假設一些AJAX的變體將允許我調用並返回數據庫值並將它們設置爲圖表軸值,但我該如何完成此操作?

任何幫助非常感謝!

回答

-1

如果您需要處理來自AJAX的數據,您可以更改服務器輸出它的方式。我會推薦一個JSON--易於在JS和服務器中使用。 但是,如果你需要的數據格式爲「[‘測試’,‘測試2’,‘TEST3’,‘TEST4’,‘TEST5’]」工作,你可以嘗試使用這樣的事情

var myarray=eval('["test","test2","test3","test4","test5"]'); 

但要記住!評估可能不安全!見https://stackoverflow.com/a/86580/3129342

+0

感謝您的幫助! – Drew