2

我在将 JSON 数据传递到 Jstree 时遇到问题。

以下是我的 Jstree

       $("#tree")
       .bind("open_node.jstree", function (event, data) {   
            console.log(data.rslt.obj.attr("id"));     

        }) 
       .jstree({
        "plugins" : ["themes", "json_data", "ui"],
    "json_data" : {
        "data":    [{"data":'Top Level - ',"state":'closed',"attr":{"seq_no":341386}}], 
        "state" : "open",
         "ajax": {   
            "type": 'POST', 
            "dataType": 'json',
            "data": {"action": 'getChildren'},  
            "url": function (node) { 
            var nodeId = node.attr('seq_no');         
                 return 'ajax/test.jsp?seq_no=' + 341386;       
            }, 
            "success": function (new_data) {

                return new_data;
            }
        }
    }
});

test.jsp 看起来像这样:

RecordCollection result=null;
PlsqlSelectCommand selCmd =  null;

String sErrorMsg = "";
String sqlSelect;

OutputFormat    format  = new OutputFormat( doc );   //Serialize DOM
StringWriter    xmlOut = new StringWriter();        //Writer will be a String
XMLSerializer   serial = new XMLSerializer( xmlOut, format ); 
serial.serialize(doc);



JSONObject jsonObject = XML.toJSONObject(xmlOut.toString());
<%=jsonObject%>

问题是 JSON 数据没有传递到 jstree。因此我无法设置我的子节点。我已经很努力了,但无法让它发挥作用。

为了将这个 JSON 字符串传递到 jstree 中,我还需要做些什么吗?当数据馈送被硬编码时,我的 jstree 工作。任何帮助深表感谢。

4

0 回答 0