-1

当我运行下面的代码时,jQuery 反复将一个 Window 对象放入我的数组中(我确信 JSON 不包含对 Window 对象的任何引用)。有什么方法可以运行它并将 Window 对象排除在我的数组之外?

谢谢

$.getJSON("../php/return_network_data.php",
function(fetch_data){
    $.each(fetch_data, function(){
    var index = this.id;
    node_array[index] = paper.circle(this.xpos_init, this.ypos_init, 10).attr({"fill" : "#ff0000"})

    $.each(node_array, function(){
            console.log(this);
      });
  });
}
);   
4

2 回答 2

0

这应该可以工作..必须在每个函数中添加索引、值

$.getJSON("../php/return_network_data.php",
function(fetch_data){
    $.each(fetch_data, function(index,value){
    var index2 = value.id;
    node_array[index] = paper.circle(this.xpos_init, this.ypos_init, 10).attr({"fill" : "#ff0000"})

    $.each(node_array, function(index,value){
            console.log(value);
      });
  });
}
);
于 2012-11-26T15:31:29.037 回答
0

我不确定 paper.circle 到底做了什么(这是拉斐尔吗?),但我认为这可能是两件事之一:

  1. 从 paper 命令中删除 attr 函数并稍后添加。

    node_array[index] = paper.circle(this.xpos_init, this.ypos_init, 10);
    
  2. 在每个函数中添加键、值:

    $.getJSON("../php/return_network_data.php", function(fetch_data){
        $.each(fetch_data, function(key, value){
            var index = value.id;
            node_array[index] = paper.circle(value.xpos_init, value.ypos_init, 10).attr({"fill" : "#ff0000"})
    
            $.each(node_array, function(){
                console.log(this);
            });
        });
    });
    

或者可能两者兼而有之?

于 2012-11-26T15:34:54.610 回答