ZTree报错 Cannot read property 'substring' of undefined

先上代码

 <table class="table" style="height:800PX">
    <tr>
        <td width="100" class="va-t">
            <ul id="treeDemo" class="ztree">
            </ul>
        </td>
        <td class="va-t"><iframe ID="testIframe" Name="testIframe" FRAMEBORDER=0 SCROLLING=AUTO width=100% height=100% SRC=""></iframe></td>
    </tr>
</table>
 <script type="text/javascript">

$(document).ready(function(){
    var setting = {
            view: {
                dblClickExpand: false,
                showLine: false,
                selectedMulti: false
            },
            callback: {
                beforeClick: function(treeId, treeNode) {
                    var zTree = $.fn.zTree.getZTreeObj("tree");
                    if (treeNode.isParent) {
                        zTree.expandNode(treeNode);
                        return false;
                    } else {
                        demoIframe.attr("src","list_user.html");
                        <!-- demoIframe.attr("src",treeNode.file + ".html"); -->
                        return true;
                    }
                }
            }
        };
    var zNodes;
    $.ajax({
        url:"getProducts",
        type:"post",
        datatype:"json",
        async:false,
        success:function(data){
            alert(data);
            zNodes=data;
        }
    });
    var t = $("#treeDemo");
    t = $.fn.zTree.init(t, setting, zNodes);
    demoIframe = $("#testIframe");
    //demoIframe.on("load", loadReady);
    var zTree = $.fn.zTree.getZTreeObj("tree");
});



    var code;

    function showCode(str) {
        if (!code) code = $("#code");
        code.empty();
        code.append("<li>"+str+"</li>");
    }
</script>

我这样写控制台老是报错。
然后我把ajax返回来的data,直接写到zNodes上,不用ajax,就可以正常显示出来。

 [{"id":"0","name":"cpfl","pid":"0"},{"id":"1","name":"FCRS","pid":"0"},
 {"id":"2","name":"FCJS","pid":"0"},{"id":"3","name":"FARS","pid":"0"}]

这个是返回的json数据。

1个回答

你这个例子我没尝试,

不过在zTree中如果你是用的是异步加载,则tree上的节点并不是一次性加载完成的,而是每次点击打开节点时加载子节点,

所以你的'substring' 为 undefined

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问