ColdFusion 10 CFCHART,如何通过JavaScript API方法传递动态变量



我在ColdFusion 10(zingcharts)中使用cfchart标记。包含图表的页面正在通过websocket接收数据,我正试图使用JavaScript定期将其中一些数据传递到图表,使用:

var x = data.number;
var handle = ColdFusion.Chart.getChartHandle();
handle.exec('mychart', 'appendseriesvalues', '{"plotindex": 0, "values": [x]}');

例如,如果我输入一个实际数字而不是x,上面的代码就可以正常工作"values": [1.1]运行良好。然而,如果我试图通过动态变量传递一个数字,它就不起作用,并抛出以下错误:

SyntaxError: JSON.parse: unexpected character

我想知道是否有人知道如何做到这一点?

继@PeterBoughton的回答/评论之后,ZingCharts API真的是有据可查。因此,是的,您可以传递一个对象,而不是一个对象的JSON表示(基于该页面上的代码示例)。这将是一个更可取的办法。

直接搞砸了<cfchart>和ZingCharts。。。我发现做后者要容易得多,并将<cfchart>从等式中完全删除。成为<cfchart>的专家几乎没有什么好处(这不是一项有市场的技能),而直接使用Javascript库(如果不是特别的ZingCharts)是一种更好的工具。

您正在向handle.exec传递一个JSON字符串,该字符串在定义x变量的不同位置被转换为JS对象,从而导致错误。

相反,让x被解析为字符串的一部分,它应该起作用:

handle.exec( ... , '{"plotindex": 0, "values": ['+x+']}');

相关内容

  • 没有找到相关文章

最新更新