开发者社区> 问答> 正文

后台获取正确格式数据后,zTree 初始化异常?报错

@zTree 你好,想跟你请教个问题:

/**
 * 初始化菜单数
 */ 
 function getMenuTree(){
$('#treeDemo').empty();//清空处理
var setting = {
check: {
enable: true
},
data: {
simpleData: {
enable: true,
idKey:  "menuId",
pIdKey: "menuParentid",
rootPId: 0
},
key: {
name: "parentName"
}
}

};


$.getJSON("/JK_AirPortPro/menu/menu/menuTree.ajax", 
function (data) {
var zNodes = JSON.stringify(data.list);
console.log(zNodes);//输出到控制台
    $.fn.zTree.init($("#treeDemo"), setting, zNodes);//这里前台报错
    setCheck();
$("#py").bind("change", setCheck);
$("#sy").bind("change", setCheck);
$("#pn").bind("change", setCheck);
$("#sn").bind("change", setCheck);
});
}

错误内容如下:

以下这种方式就没有错误

var zNodes =[{"menuId":1,"menuParentid":0,"open":"false","parentName":"远程监控"},
            {"menuId":2,"menuParentid":1,"open":"false","parentName":"工艺监控"},
            {"menuId":3,"menuParentid":2,"open":"false","parentName":"预处理2"},
            {"menuId":4,"menuParentid":2,"open":"false","parentName":"缓冲池"},
            {"menuId":5,"menuParentid":2,"open":"false","parentName":"曝气池"},
            {"menuId":6,"menuParentid":0,"open":"false","parentName":"首页"},
            {"menuId":7,"menuParentid":2,"open":"false","parentName":"厌氧池"}] ;
       
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
setCheck();
$("#py").bind("change", setCheck);
$("#sy").bind("change", setCheck);
$("#pn").bind("change", setCheck);
$("#sn").bind("change", setCheck);

展开
收起
爱吃鱼的程序员 2020-06-12 11:03:24 744 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    已经找到了错误原因,是由于<spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,宋体;font-size:14px;line-height:22px;background-color:#FFFFFF;">zNodes需要时一个Json对象格式,目前代码中转换成了字符串。在API文档中有明确说明<atarget="_blank"rel="nofollow">请区分Json字符串/对象。代码修改一下就可以了,修改如下
    <preclass="brush:js;toolbar:true;auto-links:false;">$.getJSON("/JK_AirPortPro/menu/menu/menuTree.ajax",function(data){/varzNodes=JSON.stringify(data.list);/删除这段$.fn.zTree.init($("#treeDemo"),setting,data);//直接使用json对象setCheck();$("#py").bind("change",setCheck);$("#sy").bind("change",setCheck);$("#pn").bind("change",setCheck);$("#sn").bind("change",setCheck);});

    实现效果图

    <imgsrc="http://static.oschina.net/uploads/space/2015/0923/150601_O364_2376057.png"alt="">

    <spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,宋体;font-size:14px;line-height:22px;background-color:#FFFFFF;">正确引用格式截图

    <spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,宋体;font-size:14px;line-height:22px;background-color:#FFFFFF;"><imgsrc="http://static.oschina.net/uploads/space/2015/0923/150334_VfKY_2376057.png"alt="">

    <spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,宋体;font-size:14px;line-height:22px;background-color:#FFFFFF;">错误分析截图<imgsrc="http://static.oschina.net/uploads/space/2015/0923/150127_eEYD_2376057.png"alt="">

    Good!!!!

    2020-06-12 11:03:40
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JS 语言在引擎级别的执行过程 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载