在前台页面用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中