gpt4 book ai didi

javascript - 当我在 Ajax 调用后调用 updateSeries 时,为什么我的 Dojo 饼图消失了?

转载 作者:行者123 更新时间:2023-12-02 20:29:57 24 4
gpt4 key购买 nike

我正在尝试使用 updateSeries 方法更新 dojo 饼图。我在执行 ajax 调用后调用该方法以获取更新的 javascript 数组数据。

这是 JavaScript:

var eventByReasonsData = .... //gets populated on jsp page compile 

var theme = dojox.charting.themes.Julie;

var eventReasonsChart = null;


function makeEventsByReason() {

var dc = dojox.charting;
eventReasonsChart = new dc.Chart2D("eventsByReasonChart");
eventReasonsChart.setTheme( theme ).addPlot("default", {
type: "Pie",
font: "normal normal 8pt Tahoma",
fontColor: "black",
labelOffset: -20,
radius: 100

}).addSeries("eventSeries", eventByReasonsData );

var anim_a = new dc.action2d.MoveSlice(eventReasonsChart, "default");

var anim_b = new dc.action2d.Highlight(eventReasonsChart, "default");

var anim_c = new dc.action2d.Tooltip(eventReasonsChart, "default");

eventReasonsChart.render();


}

这是我的 HTML:

        <div id="eventsByReasonChart" ></div>

这是进行 AJAX 调用的 javascript:

     new Ajax.Request( url, {
method: 'post',
parameters: params,
onComplete: function(response) {


if( response.responseText != "empty" )
{
var chart = eventReasonsChart;

eventByReasonsData = response.responseText;

chart.updateSeries( "eventSeries", eventByReasonsData );

chart.render();
}

}
});

最后,以下是我的数据发送到图表时的格式:

[{ y:48 },{ y:1 },{ y:1 },{ y:14 },{ y:7 },{ y:3 },{ y:8 }]

当图表最初绘制时,一切都很酷,没有任何问题。进行 Ajax 调用后,我收到新数据,进行更新调用,图表消失。我在控制台上看不到任何错误。

有什么想法吗?

最佳答案

我怀疑 eventByReasonsData 是一个字符串,而 updateSeries() 需要一个数组。您可以使用dojo.fromJson()将字符串转换为数组:

chart.updateSeries( "eventSeries", dojo.fromJson(eventByReasonsData) );

关于javascript - 当我在 Ajax 调用后调用 updateSeries 时,为什么我的 Dojo 饼图消失了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4331568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com