用动态加载带有json的树

时间:2011-07-26 15:43:40

标签: javascript xmlhttprequest pass-by-reference

我正在用JavaScript设计一个树,我正在尝试加载一个存储在服务器上的json文件中的节点。

伪代码JavaScript:

var nodeRoot = 
{
    level: 4,
    id: 12,
    data: ...,
    childs: Array() // the nodes, all similar to the root, but of level n-1
}

function downloadNodeData(_node){
    //initializing the request
    req.onreadystatechange=
        function(){
            //testing the request
            var nodeResult = eval("("+req.responseText+")");
            console.log(nodeResult);
            // ----- What now ? -----
        }
    req.send(null);
}

我可能需要在几个地方调用此函数(想法是根据用户操作动态加载树节点)。

重点是,一旦请求返回,我找不到更新被调用节点的值的方法。

是制作SetNodeByLevelAndId(_node,_level,_value)的唯一方法吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在nodeRoot的描述中没有属性值。 你想在_node上更新什么(给你的函数赋予参数)。

如果要通过nodeResult替换_node,则必须将nodeResult的属性逐个复制到_node。因为如果指定

,引用_node的其他节点将使用旧引用
_node = nodeResult