无法使用ajax数据填充jstree

时间:2017-12-04 14:10:57

标签: jquery json ajax jstree

我正在使用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}}非常差。

1 个答案:

答案 0 :(得分:0)

我无法看到谁在触发建立jstree的调用以及从哪里开始。

方法有点不同但它对我有用。

https://everyething.com/Example-of-simple-jsTree-with-dynamic-JSON-data