【问题标题】:How to modify ajax response before jsTree creation?如何在创建jsTree之前修改ajax响应?
【发布时间】:2011-08-30 09:45:54
【问题描述】:

如何在创建 jsTree 之前修改 ajax 响应?我想访问每个节点 ID 并为其添加前缀。在 jsTree 页面上,唯一的线索是:该函数将接收两个参数 - 正在加载的节点和一个函数”。我需要在实际创建树之前执行此操作,以避免文档中出现重复的 ID。

"json_data" : {
"ajax" : { 
  "type": "GET", 
  "url" : "tree.json" 
 }, 
"data" : function(node, func){
        //how to use that? 
}} 

我期望在这里得到JSON数据,修改它并返回?但这会爆炸。

【问题讨论】:

  • 我在 jsTree 代码中找到了一条注释:“接受两个参数 - 正在加载的节点和将结果传递给的回调,将在当前树的范围内执行,不支持 ajax” .为什么??当我注释掉 ajax 设置时,此函数获取参数、节点和回调函数,但我需要修改 AJAX 数据 - 这应该在“成功”回调中完成吗?

标签: jstree


【解决方案1】:

我已经在 jsTree 的实例化中使用成功回调成功地操作了数据。就我而言,我正在解析从 .NET 网络方法返回为 JSON 的 XML 数据。它应该以类似的方式适用于您的情况。

"ajax": {
  "type": "GET"
  "url": "tree.json",
  "success": function (x) {
    //manipulate string x to change id's here
    return x;
  }, ...

另一种方法是使用“完成”回调函数来操作最终形式的 jsTree。但是,在您的重复 ID 的情况下,我不推荐它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 2022-11-04
    • 1970-01-01
    相关资源
    最近更新 更多