0

ハイ、これは私のHTMLコードです

 <select id="difques">
            <option value="firstfivemonth">firstfivemonth</option>
            <option value="nextfivemonth">nextfivemonth</option>
        </select>

これは、jqueryでajaxを使用してサーバーを呼び出すための私のコード........

 $('#difques').change(function(){
                     $.ajax({
                                type: "GET",
                                url: "ManyQuestionGraph",
                                data: "graphfor="+$('#difques :selected').val()+"&value="+${value},
                                success: function(data){
                                    var obj=jQuery.parseJSON(data);
                                    options.series[0].color='red';
                                    options.xAxis.categories=obj.value;
                                    options.series[0].data=obj.month;
                                    chart = new Highcharts.Chart(options);
                                }  
                            });
                        });

私のハイチャートコードは

               var chart;
                    $(document).ready(function() {
                       var options  = {
                            chart: {
                                renderTo: 'graphreport',
                                type: 'column'
                            },
                            title: {
                                text: 'Rating'
                            },
                            xAxis: {
                                categories: ['jan','feb','mar','apr','may']
                            },
                            yAxis: {
                                min: 0,
                                max: 5,
                                title: {
                                    text: ''
                                }
                            },
                            tooltip: {
                                formatter: function() {
                                    return ''+
                                        this.series.name +': '+ this.y +'';
                                }
                            },
                            credits: {
                                enabled: false
                            },
                            series: [{
                                name: 'Rating',
                                data: [1,2,3,4,5],
                                color: '#77c4d3'
                            }]
                        }
                        chart = new Highcharts.Chart(options);

私のサーブレットコードは

 protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
                    JSONObject jsonobject = new JSONObject();
                    jsonobject.put("value",[5,4,3,2,1]);
                    jsonobject.put("month",['jun','jul','aug','sep','oct']);
                    response.setContentType("text/plain");
                    response.setCharacterEncoding("UTF-8");
                    response.getWriter().write(jsonobject.toString()); 
}

私のWebページは次のようになります..... ここに画像の説明を入力

しかし、選択コンボボックスで次の5か月を選択すると、ajaxを使用してサーバーが呼び出され、ajaxの成功中にサーバーからjsonデータを取得できますが、データをハイチャートに渡すと、次のようになります...... .

ここに画像の説明を入力

私はそれを間違っているのですか、それともコーディングでいくつかの間違いを犯しましたか......

助けて...........

4

2 に答える 2

0

このビットは私には間違っているように見えます:

options.xAxis.categories=obj.value;
options.series[0].data=obj.month;

それは間違った方向に回っていませんか?月はカテゴリで、値はデータですか? 試す:

options.xAxis.categories=obj.month;
options.series[0].data=obj.rate;
于 2013-03-08T14:26:21.797 に答える
0

あなたの JSON は Highcharts には間違っています。次から変更してください。

{
     "rate":",3.5,0,0,0",
     "month":"'jun','jul','aug','sep','oct'"
}

このようなものに:

{
     "rate": [3.5,0,0,0],
     "month": ['jun','jul','aug','sep','oct']
}
于 2013-03-09T12:33:03.777 に答える