2016-07-03 10 views
-1

回答を完全に検索しましたが、これをクリアする項目を追跡できませんでした。mySQLデータベースの値からJavascript値を設定する

私はjava/mySQLバックエンドとhtml/jsフロントエンドを持つ単純なwebappを構築しています。私のフロントエンドでは、データを視覚化するためにchart.jsライブラリと連携してデータベースの値を使用しています。私は、バックエンドでジャージーのフレームワークを使用していますし、適切なURLが渡されたときに所望の値を返すコードを書かれている - 例えば:

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

戻り

[「テスト」、「TEST2を」 、 "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内でもサーバー上でも使いやすいです。 あなたは '[ "テスト"、 "TEST2"、 "TEST3"、 "TEST4"、 "TEST5"]' などのデータ形式で作業する必要がある場合しかし、あなたはこの

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

のようなものを使用して試すことができますでも覚えておいて!エバールは安全でないかもしれません! https://stackoverflow.com/a/86580/3129342

+0

ありがとうございました! – Drew

関連する問題