闪电孩
2018-07-14 23:02
采纳率: 100%
浏览 1.2k

ajax返回json到前台 zTree 不显示

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • 已采纳

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

     if(typeof data=='string')data=eval('('+data+')')//转为JSON对象后再初始化
    $.fn.zTree.init(t, setting, data);
    
    点赞 打赏 评论
  • JY-Alise 2018-07-15 00:25

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

    点赞 打赏 评论
  • 闪电孩 2018-07-15 00:28

    前台部分:
    $.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 返回后没反应
    
    点赞 打赏 评论
  • 闪电孩 2018-07-15 00:30

    你说的 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;
    }
    }
    }
    };

    点赞 打赏 评论
  • xiaosun0301 2018-07-15 01:59

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

    点赞 打赏 评论
  • QQ6476383 2018-07-15 06:33

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

    点赞 打赏 评论
  • ytx_phone 2018-07-15 07:08

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

    点赞 打赏 评论
  • liang09jie 2018-07-16 05:56

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

    点赞 打赏 评论

相关推荐 更多相似问题