我一直在使用ajax调用进行jstree延迟加载,但我遇到了一个问题。
我的代码成功地为json数据提供了1个深度。 但是当我点击或选择节点时,它不会带来它的孩子。 我不知道我的问题是什么。
这是我的javascript代码
$("#tree").jstree({
'core' : {
'data' : {
'url' : function(node) {
return'/url/getTree';
},
'type' : 'GET',
'data' : function(node) {
return {
parentId : node.id ==="#" ? 0 : node.id,
searchdepth : 1
}
},
'success' : function(data) {
return data.list
}
},
'check_callback':true,
},
"plugins" : ["json_data"]
});
我的结果数据就像这样
[{"id":"1","text":"node_1","data":{"selected":"N"},"children":[{"id":"3","text":"node_3","data":{"selected":"N"}},{"id":"2","text":"node_2","data":{"selected":"N"}}]}]
答案 0 :(得分:1)
您的JSON文档似乎不正确。该文档需要包含完全一个数组,其中包含仅您请求信息的节点的子项。
因此,使用您的示例,当您为id为1的节点请求信息时,您的json需要如下所示:
[
{"id":"3","text":"node_3","data":{"selected":"N"}, "children":true/false},
{"id":"2","text":"node_2","data":{"selected":"N"}, "children":true/false}
]