我从 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 次p>
最佳答案
因为您正在迭代所获得的列表对象的属性名称。它包含元素索引,还包含可枚举函数的名称。
不要。像在数组上一样迭代。
替换
for(var node in data) {
与
for(var i=0; i<data.length; i++) {
var node=data[i];
关于javascript - 为什么最后一个元素被称为 "remove",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19817811/