Ajax-запрос к различным конечным точкам на основе позиции в jsTree - PullRequest
0 голосов
/ 09 октября 2018

Следующее дерево будет создано с использованием https://www.jstree.com/,, а узлы , выделенные полужирным шрифтом , представляют собой узлы, когда щелчок инициирует запрос ajax и будет заполнен дочерними элементами.

Запросы ajaxоднако конечные точки будут отличаться в зависимости от типа выбранного узла (например, parentNode, arrayList или subNode).Как можно использовать разные конечные точки url для разных узлов jsTree?

  • parentNode1
  • parentNode2
  • parentNode3
    • property3.1
    • property3.2
    • property3.3
    • arrayList3
      • subNodeProperty3.3.1
      • subNodeProperty3.3.2
      • subNodeProperty3.3.3
      • subNode3.3
        • subSubNodeProperty3.3.1
        • subSubNodeProperty3.3.2
        • subSubNodeProperty3.3.3

Я думаю о чем-то вроде следующего,но прежде чем продолжить, хотел бы знать, иду ли я по правильному пути или нет.

$('#object-browser').jstree({
    'core' : {
        'data' : function (node, cb) {
            switch(node.parents.length) {
                case 0:
                    var url='/nodes/parentNodes';
                    break;
                case 1:
                    var url='/nodes/arrayList';
                    break;
                case 2:
                    var url='/nodes/subNodes';
                    break;
                default:
                    throw 'Node depth of '+node.parents.length+' is not supported';
            }
            $.ajax({
                type: "GET",
                url: url,
                dataType: 'json',
                success: function(response){
                    cb(response)
                },
                error: function(jqXHR, status, err) {
                    console.log(jqXHR, status, err)
                }
            });

        }
    }
});
...