如何将原始数据从控制器传递到javascript?

如何将原始数据从控制器传递到javascript?,javascript,python,web2py,Javascript,Python,Web2py,我想将某些数据传递给嵌入在我视图中的javascript函数my_函数(数据) 在控制器中,我执行以下操作: data = "[{value: 1, color: '#FF0000'},{value: 1, color: '#FF0000'} ]" 这就是数据进入函数的方式。我用这个走了很长一段路: my_function({{ =XML(response.json(data)) }} 到目前为止,它仍然有效,但数据最终是这样的: "[{value: 1, color: '#FF0000'}

我想将某些
数据
传递给嵌入在我视图中的javascript函数
my_函数(数据)

在控制器中,我执行以下操作:

data = "[{value: 1, color: '#FF0000'},{value: 1, color: '#FF0000'} ]"
这就是数据进入函数的方式。我用这个走了很长一段路:

my_function({{ =XML(response.json(data)) }}
到目前为止,它仍然有效,但数据最终是这样的:

"[{value: 1, color: '#FF0000'},{value: 1, color: '#FF0000'} ]"
但我是这样跪着的-没有引号在周围
[…]

[{value: 1, color: '#FF0000'},{value: 1, color: '#FF0000'} ]

如何做到这一点?

数据已经是JSON,因此不需要
响应。JSON
——只需执行以下操作:

my_function({{=XML(data)}})
或者,您可以将
data
设置为Python对象,并使用
response.json
将其转换为json:

data = [{'value': 1, 'color': '#FF0000'}, {'value': 1, 'color': '#FF0000'}]

谢谢这有帮助。但是为了让它工作,我还必须这样做:“我的函数(我的数据={{{=XML(数据)}})”嗯,Javascript通常不需要参数名。函数定义是什么样子的?请看我在问题下面的评论,最终整个想法都是错误的。对于JS:我试图实现
chart.JS
(chartjs.org),毕竟我不得不说整个想法是错误的。解决方案是定义一个小型助手函数
build\u js(data)
,以返回HTML脚本标记。所需的数据被传递给函数。无论如何,谢谢@Anthony!