Загрузка дерева с помощью JSON динамически - PullRequest
0 голосов
/ 26 июля 2011

Я проектирую дерево на 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 голосов
/ 26 июля 2011

В описании nodeRoot отсутствует значение атрибута. Что вы хотите обновить на _node (параметр, переданный вашей функции).

Если необходимо заменить _node на nodeResult, вы должны скопировать атрибуты nodeResult по одному в _node. Потому что другие узлы, которые ссылаются на _node, будут использовать старую ссылку, если вы назначите

_node = nodeResult
...