1

您好,我正在尝试根据从 servlet 收集的值创建一棵树。这些是我的代码;

 $('#hierarchy').aciTree({
        ajax: {
          //  url: 'assets/global/plugins/aciTree/json/checkbox.json'
            method : 'post',
            Url : 'HierarchyServlet'

        },
        // our custom filter/search
        filterHook: function(item, search, regexp) {
            if (search.length) {
                // try to get the parent
                var parent = this.parent(item);
                if (parent.length) {
                    // get parent label
                    var label = this.getLabel(parent);
                    if (regexp.test(String(label))) {
                        // all direct childrens match
                        return true;
                    }
                }
                // match the item
                return regexp.test(String(this.getLabel(item)));
            } else {
                // empty search, all matches
                return true;
            }
        }
    });

但是,当用户尝试单击 ( + ) 时,再次从 servlet 发出请求。我的问题是如何不再请求。因为我会一次发送所有的 json。

4

1 回答 1

2

仅当您在第一个请求中从服务器发回整个树结构时,树视图才会发出单个 ajax 请求来加载他的节点。

当我说整个树结构时,我的意思是不需要任何没有子节点的 inode。如果没有设置子节点,树视图将尝试加载一个 inode,并为此发出新的 ajax 请求。

您需要做的是确保branch在从服务器返回的 json 中没有属性设置为 null 或空的 inode。

于 2015-02-15T05:47:50.673 回答