I use the following function through XLMhttpRequest calls:
function updateChart(data) { var jsonData = { "chart": { // Some rendering options "caption": caption, "subcaption": "" }, "data": data }; // First time I initialize my chart if (FusionCharts("myChartId") === undefined) { var chart = new myChartId({ // Some rendering options swfUrl: "Charts/MSLine.swf", id: "myChartId", width: "100%", height: "280px", dataFormat: 'json' }); chart.setJSONData(jsonData); chart.render("myContainerId"); } else // Then I just update FusionCharts("myChartId").setJSONData(jsonData); }
I call the updateChart function in my callback:
success: function(data, request) { try { var d = JSON.parse(data); updateChart(d.chart); // Other job... var event = new CustomEvent("dataReceivedFromAjax", {"detail": d}); document.dispatchEvent(event); } catch (e) { window.console.warn("Wrong format JSON data received"); window.console.warn(data); } }
Of course, you can adapt my code to your case (for example, I use JsonData , not JsonUrl ).
source share