ajax返回json到前台 zTree 不显示

在前台页面用alert(var) 出来的数据 写死赋值给变量data t = $.fn.zTree.init(t, setting, data);
结构正常显示, ajax success function 返回后参数给zTree 不显示结构。

data要json对象,你输出值和写死的一样说明data肯定不是对象,要转为json对象后再初始化ztree

 if(typeof data=='string')data=eval('('+data+')')//转为JSON对象后再初始化
$.fn.zTree.init(t, setting, data);

应该树的有个属性参数没有被利用

前台部分:
$.ajax({

url : "group_query.action",

type : "POST",

dataType:"json",

data : {

       },  
       success : function(data){  

             var dataObj = eval("("+data+")");//转换为json对象   
             aa = JSON.stringify(dataObj.data)
             alert(aa);
             t = $.fn.zTree.init(t, setting, aa);
       }, 

       error:function(){  
           alert("系统繁忙,请重试!");
            t = $.fn.zTree.init(t, setting, ss);

     }  
   });  

        alert复制出来  var ss = [{"id":1,"name":"通讯录","pId":0},{"id":2,"name":"一线岗位","pId":1}]; 
             t = $.fn.zTree.init(t, setting, ss);
            如果把alert 出来的数值写死赋给ss 直接初始化就出来了,但是 通过ajax 返回后没反应

你说的 setting 部分
var setting = {
view: {
dblClickExpand: false,
showLine: false,
selectedMulti: false
},
data: {
simpleData: {
enable:true,
idKey: "id",
pIdKey: "pId",
rootPId: ""
}
},
callback: {
beforeClick: function(treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("tree");
if (treeNode.isParent) {
zTree.expandNode(treeNode);
return false;
} else {
demoIframe.attr("src",treeNode.file + ".html");
return true;
}
}
}
};

应该树的有个属性参数没有被利用

检查参数格式是否正常,是否按照tree要求的数据格式

用 websocket 貌似不能用这种简单的方式

接口返回的数据转成json对象再放入ztree中