0

我从 django 开始。

我在我的 javascript 中使用 json:

views.py:
a = ModelA.objects.filter(status = 'A').values('name', 'id', 'pos', 'status')
b = ModelA.objects.filter(status = 'B').values('name', 'id', 'pos', 'status')
data = {
    'a': a,
    'b': b,
}
return HttpResponse(simplejson.dumps(data), mimetype='application/json')

我正在使用nodeshot,其中有一个获取 json 的函数:

$.getJSON(nodeshot.url.index+"nodes.json", function(data) {
        nodeshot.nodes = data;
    });

但是当我这样做时:

var data = nodeshot.nodes[status];         //'a' for example
for(var node in data) {
...
}

如果我这样做,alert(node)我会得到:

0
1
remove

这是什么remove?这个循环应该只通过 2 次

4

1 回答 1

2

因为您正在迭代您获得的列表对象的属性名称。这包含元素索引以及可枚举函数的名称。

不。像在数组上一样迭代。

代替

for(var node in data) {

for(var i=0; i<data.length; i++) {
   var node=data[i];
于 2013-11-06T16:48:33.070 回答