我正在用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)的唯一方法吗?
感谢您的帮助。
答案 0 :(得分:0)
在nodeRoot的描述中没有属性值。 你想在_node上更新什么(给你的函数赋予参数)。
如果要通过nodeResult替换_node,则必须将nodeResult的属性逐个复制到_node。因为如果指定
,引用_node的其他节点将使用旧引用_node = nodeResult