我正在使用jstree 3.2.1并尝试使用从ajax脚本返回的json数据填充它。
我通过访问URL测试了生成json数据的脚本,并且它返回了有效的json:
[{"id":"5","name":"Sector","parent_id":null},
{"id":"6","name":"Location","parent_id":null},
{"id":"7","name":"Italy","parent_id":"6"},
{"id":"8","name":"Poland","parent_id":"6"}]
对ajax脚本的调用基于jsTree - Populate Tree Dynamically using AJAX/C#Web Method。所以我有:
$('#tree').jstree({
core: {
check_callback: true,
},
"data": {
type: "POST",
url: "/ajaxGetTree",
contentType: "application/json; charset=utf-8",
success: function (data) {
data.d;
$(data).each(function () {
return { "id": this.id };
});
}
},
});
当我加载页面时,没有向/ajaxGetTree
发出请求,因此树中没有数据。
我以前有部分工作(但不能恢复到我所处的文件,烦人)。然而,在那种情况下,它正在向/ajaxGetTree
发出请求,但随后只是显示"正在加载......"在树应该出现的区域中使用微调器。数据没有出现在jstree中。
请有人提供一些指导,如果可能的话,可以提供实际执行此操作的代码 - 即从ajax源填充树。
official documentation上的{{3}}非常差。
答案 0 :(得分:0)
我无法看到谁在触发建立jstree的调用以及从哪里开始。
方法有点不同但它对我有用。
https://everyething.com/Example-of-simple-jsTree-with-dynamic-JSON-data