好的,一些解释。即使我不认为它与问题本身有任何关系。我有一个小的django项目,使用传单映射一些数据。在鼠标悬停时,使用dajax
(这是一个“轻量级库来实现django项目中的AJAX”)框架添加了一些ajax功能。电话本身看起来像这样:
dajax.add_data(simplejson.dumps(series), 'my_test_flot')
我的js函数接收看起来像这样的json数据(使用alert
)
[{"color": "#dddd00",
"data": [[-0.5, -20.5]],
"label": "Tweede Zandlaag"}]
对象有更多数据,但问题不在于对象。当我将数据直接复制/粘贴到函数var series = []
中时,行为就像预期的那样。正如所预期的那样,实际上正在绘制我用flot
绘制的图形。否则图表仍为空。
function my_test_flot(dat) {
function MyFormatter(v, xaxis) {
return " ";
}
$(function () {
alert(dat)
var series = dat; // here lies the problem, but why?
...
有人可以帮忙吗?
答案 0 :(得分:3)
好的,问题解决了。显然你必须使用JSON.parse()
。如何解释here。
答案 1 :(得分:0)
这不会复制数据 - 它只会使series
引用与dat
相同的对象。因此,如果稍后修改该对象,则保留对该对象的引用的所有用户都会看到更改。这可能是导致你麻烦的原因。