我可以使用预加载 JSON 数据的 jsTree 并使用 Ajax

2024-01-07

我让 jsTree 处理 JSON 数据:JSON 数据代表服务器的文件系统,用户可以从树中选择一个文件夹,然后将其添加到文件夹输入字段中。我不希望在没有提供文件系统前三层的情况下加载页面。但是,我不会解析整个文件系统,因为这会花费太长时间。

我可以使用 JSON 数据预填充 jsTree 并在用户打开树中未预填充的节点时使用 Ajax,还是也必须使用 Ajax 进行初始加载?

下面我展示了我当前的代码(没有任何 Ajax),但为了简洁起见,仅将数据检索到一级:它返回C:\ and E:\来自服务器的文件系统。这是可行的,但我不清楚当用户尝试打开层次结构中更下方的节点时如何引入 Ajax。

    <label for="folder">Selected Folder</label>
    <input type="text" name="folder" id="folder">
    <br>
    <script type="text/javascript">
    function createJSTree(jsondata) 
    {            
      $('#jstree').jstree(
        {
          "plugins" : ["themes","html_data","ui","cookie"],
          'core': 
          {
              'data': jsondata
          }
        }
      )
      .bind("select_node.jstree",   
                function (e, data) 
                {
                    var objNode = data.instance.get_node(data.selected);
                    document.getElementById('folder').value=objNode.id;
                }
        )
      ;
    }

    $(function() { var jsondata ={"text":"pclaptop","children":[{"id":"C:\\","text":"C:\\","children":[]},{"id":"E:\\","text":"E:\\","children":[]}]}; createJSTree(jsondata); })
    </script>

在我进入 ajax 代码之前,我必须设置jsTree 中的 check_callback 参数 https://www.jstree.com/docs/interaction/它允许编辑 jsTree。接下来,我调用 `$('#jstree').jstree().create_node('#', parsedData, "last");在 jQuery 的 ajax 调用的 success 方法中,就成功了。我的解决方案如下:

索引.html

<label for="folder">Selected Folder</label>
    <input type="text" name="folder" id="folder">
    <br>
    <button id="create-node-button">
       Create Node
    </button>
<div id="jstree"></div>
<script type="text/javascript">
    function createJSTree(jsondata) {
        $('#jstree').jstree({
                "plugins": ["themes", "html_data", "ui", "cookie"],
                'core': {
                    'check_callback': true,
                    'data': jsondata
                }
            })
            .bind("select_node.jstree",
                function(e, data) {
                    var objNode = data.instance.get_node(data.selected);
                    document.getElementById('folder').value = objNode.id;
                }
            );
    }

    $(function() {
        var jsondata = [{
                "id": "pclaptop",
                "parent": "#",
                "text": "pclaptop"
            },
            {
                "id": "C:\\",
                "parent": "pclaptop",
                "text": "C:\\"
            },
            {
                "id": "E:\\",
                "parent": "pclaptop",
                "text": "E:\\"
            },
            {
                "id": "F:\\",
                "parent": "pclaptop",
                "text": "F:\\"
            }
        ];
        createJSTree(jsondata);

        $("#create-node-button").on("click", function() {
            $.ajax({
                url: "./data.json",
                success: function(data){
                    var parsedData = JSON.parse(data);
                    $('#jstree').jstree().create_node('#', parsedData, "last");
                }
            });
        });
    });
</script>

数据.json

{ "id" : "ajson5", "text" : "newly added" }

Lastly, 这是一个小提琴 https://jsfiddle.net/jchaplin2/74xmw78b/7/。我不确定如何在 jsfiddle 中正确设置 ajax 调用,所以我在本地完成了它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以使用预加载 JSON 数据的 jsTree 并使用 Ajax 的相关文章

  • 使用python将json和文件发送到flask

    我遇到这个问题 我试图在单个函数中向 Flask API 发送 接收一些文件和 JSON 在我的客户端 发件人 上我有 my json to be sent datas var1 var1 var2 var2 my file to be s
  • 如何在 pandas 中读取并标准化以下 json?

    我在 stackoverflow 中使用 pandas 看到了很多 json 读取问题 但我仍然无法解决这个简单的问题 Data session id 0 X061RFWB06K9V 1 5AZ2X2A9BHH5U unix timesta
  • 使用 MVC 5 和实体框架的 jQuery 数据表

    我需要一些关于在控制器中放入什么内容的指导 以便我可以对 jQuery 数据表使用服务器端处理 我正在使用 MVC 5 和实体框架 示例位于 http datatablesmvc codeplex com documentation htt
  • 如何在golang中解析JSON而不需要解组两次

    我有一个 Web 套接字连接 它在 JSON 对象中发送不同类型的消息 并且我想将内容解组到一些已知的结构中 为此 我认为我应该执行以下操作 步骤 1 将 JSON 解组为通用映射 字符串 接口 步骤 2 找到我要找的钥匙 步骤 3 尝试将
  • Ruby on Rails 服务器在 HTTPS POST 请求期间崩溃

    我正在尝试与你沟通城市飞艇API http urbanairship com docs push html broadcast使用 ROR Web 应用程序 在我的控制器中 我有以下代码 require net http require n
  • wordpress - 像 stackoverflow 中那样内嵌 ajax 注释

    我有一个 WordPress 博客 希望为人们提供与 stackoverflow 中添加评论相同的用户体验 有很多评论 ajax 插件 但我找不到一个可以使用的插件 它允许您在主页上内联 进入并添加评论 而无需先深入到单独的单个帖子页面 任
  • jq:将对象数组转换为对象

    我收到了来自curl的回复 格式如下 list value 1 id 12 value 15 id 13 value 4 id 14 给定 id 之间的映射 如下所示 12 newId1 13 newId2 14 newId3 我想做这个
  • 如何使用shell脚本从json字符串中grep特定字段值[重复]

    这个问题在这里已经有答案了 下面是文件中可用的 JSON 字符串 我需要从中提取值status在 shell 脚本中 预期输出 status success 响应 json eventDate null dateProccessed nul
  • jolt变换后json对象的排序

    Input The input json object 所需输出 Event1 Value1 Event2 collection of json objects Event3 The input json object 所以基本上输入 js
  • 如何反序列化键名.Net中包含点(.)的Json字符串[重复]

    这个问题在这里已经有答案了 odata metadata sometext odata nextLink sometext value odata type SP Data RegionsListItem odata id 07404daa
  • 如何舍入、取整、取整、截断

    如何对 jq jq 1 5 1 a5b5cbe 中的数字进行舍入 取整 取整和截断 例如 与 mass 188 72 我想 mass 188 有地板 mass 189 与天花板和圆形 舍入示例 5 52 gt 6 5 50 gt 5 or
  • Groovy - JsonSlurper 解析 JSON 文件

    我有一个类似于下面的 JSON 文档 我正在尝试在 Groovy 中解析它 基本上对于每所学校 学校信息 我想抓住SCHOOL COUNTRY和其他领域 我正在尝试下面的代码 但它没有返回我需要的内容 对于列出的每所学校 1 000 所 我
  • Rails 3.2:用 json 序列化中的空字符串替换 null 值

    我正在使用 Rails 3 2序列化 http www simonecarletti com blog 2010 04 inside ruby on rails serializing ruby objects with json 将 ru
  • 复杂对象MVC3的JSON序列化

    我有一个问题 我似乎不知道如何序列化类型的对象 public class SchedulingCalendarMonth public List
  • 如何取消 AjaxForm 上的提交

    我正在使用 jQuery 插件 ajax 形式 我尝试实现这样的东西 MyFormID ajaxForm dataType json resetForm true beforeSubmit function validateData ret
  • 将 JSON 参数从 java 发布到 sinatra 服务

    我有一个 Android 应用程序发布到我的 sinatra 服务 早些时候 我无法读取 sinatra 服务上的参数 但是 在我将内容类型设置为 x www form urlencoded 之后 我能够看到参数 但不完全是我想要的 我在
  • 如何通过 ajax 加载页面后显示 Twitter / Facebook / Google+ 按钮?

    我有一个 Rails 3 1 应用程序 我希望允许用户通过 Twitter Google 和 Facebook HTML5 版本的 Like 按钮 共享项目 我让它在项目的显示页面上工作得很好 即 仅显示该项目 但我在通过 Ajax 加载列
  • Jackson 将单个项目反序列化到列表中

    我正在尝试使用一项服务 该服务为我提供了一个带有数组字段的实体 id 23233 items name item 1 name item 2 但是 当数组包含单个项目时 将返回该项目本身 而不是包含一个元素的数组 id 43567 item
  • Ajax 没有将我重定向到下一页

    我正在尝试将单击的图像的 ID 传递到下一页 当我开发代码时 它没有将我重定向到下一页 当我单击 F12 并检查网络中的 POST 时 它显示变量已正确传递到下一页 如附图所示 但它没有将我重定向到下一页 所以现在我知道变量在下一页中正确传
  • SQL查询json字典数据

    我的表中的 CLOB 字段包含 JSON 如下所示 a value1 b value2 c value3 我正在尝试编写一个 SQL 查询来返回一个包含键和值字段的表 如下所示 key value a value1 b value2 c v

随机推荐