jsTree v.3使用ajax调用延迟加载

时间:2016-09-27 03:29:51

标签: javascript ajax jstree

我一直在使用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"}}]}]

1 个答案:

答案 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}
]