前台页面
<SCRIPT type="text/javascript">
var setting = {
async: {
enable: true,
url:"jasondata.jsp",
autoParam:["id"],
}

}; $(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting);
});后台处理jasondata.jsp
out.print([{ id:'01', name:'n1', isParent:true},{ id:'02', name:'n2', isParent:false}]);后台处理页面的返回数据应该是正确的,但问题是前台页面根本没执行后台处理页面jasondata.jsp,不知道前台页面的设置哪里有问题?我是参照了demo中的async.html页面中的代码的,如下:
var setting = {
async: {
enable: true,
url:"../asyncData/getNodes.php",
autoParam:["id", "name=n", "level=lv"],
otherParam:{"otherParam":"zTreeAsyncTest"}
}
}; $(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting);
});我看设置都很相似,为什么我换成jsp就不行,而demo的php就可以呢?ztree ajax javascjavascriptjsp

解决方案 »

  1.   

    我添加了一下这一段代码也不行
        data: {
         simpleData: {
         enable: true,
         idKey: "id",
         pIdKey: "pId",
         rootPId: 0
         }
        }
      

  2.   

    默认进入页面的时候,根本不执行jasondata.jsp,如果是在页面上设置默认的var zNodes,点击展开节点之后倒是会执行jasondata.jsp,但展开的子节点仍然显示为undefined,费解
      

  3.   

    你后台返回的json字符串格式正确的情况下,在async:{dataType:"json"}加入这个json要不然人家会当你是个纯文本
      

  4.   

    autoParams:["id"] 这一行最后不要加逗号了!