I get data from the servlet and my sysout of the json object that I am sending from the servlet is {"JsonArray": [{"Bugzilla": 20, "redmind": 14}]}
Now my java script
<script type="text/javascript"> var chart; $(document).ready( function() { chart = new Highcharts.Chart({ chart : { renderTo : 'container', }, title : { text : 'Bug chart' }, tooltip : { formatter : function() { var s; if (this.point.name) { // the pie chart s = '' + this.point.name + ': ' + this.y + ' Bugs'; } else { s = '' + this.x + ': ' + this.y; } return s; } }, labels : { items : [ { html : 'Total Bugs', style : { left : '40px', top : '8px', color : 'black' } } ] }, series : [ { type : 'pie', name : 'Total Bugs', data : [], center : [ 100, 80 ], size : 100, showInLegend : false, dataLabels : { enabled : false }, }, ] }, function getdata(chart) { var tmp=""; var receivedData=""; $.ajax({ url : 'http://localhost:8080/PRM/GraphServlet', dataType : 'json', error : function() { alert("error occured!!!"); }, success : function(data) { $.each(data.jsonArray, function(index) { $.each(data.jsonArray[index], function(key,value) { tmp = "['" + key + "', " + value + "],"; receivedData += tmp; alert("receivedData: " + receivedData); }); }); alert(receivedData.substring(0, 34)); chart.series[0].setData([receivedData.toString().substring(0, 34)]); } } ); }); }); </script>
Alerts print the received data: ['bugzilla', 20], ['redmind', 14], which I expect, but the problem is that I install it on
chart.series [0] .setData ([receivedData.toString (). substring (0, 34)]);
then my pie chart doesn't work. It shows only one part, such as 1/4 circle without a hint