您的位置:首页 > Web前端 > JavaScript

zTree3.5使用ajax请求返回json数据时遇到的问题

2014-04-21 15:40 726 查看
       因项目需求,用到了zTree 3.5。数据是从数据库里直接取到,按照zTree3.5的数据要求,我在后台用 StringBuffer 拼接了一个json格式的数据,然后在前端用ajax()方法获得这个json,赋值给zNodes这个变量,从而显示一个树。

      

       后台获得所有数据后用StringBuffer拼接了个json数据,在控制台打印输出了下,查看符合json数据格式。前端用ajax获得这个json数据,alert下,没有问题。按照zTree的要求配置好所有数据,检查后zTree配置没有问题,页面却没有显示树形数据。我alert下ajax的数据长度length与后台数据长度,发现长度不一样。但是将后台打印输出的json数据直接粘贴赋值给zNodes后, 页面能正常显示树状数据。几番纠结后才终于找到问题所在:

        我拼接的json数据虽说符合json格式,但前端无法识别,必须用eval()执行后返回的才是json对象:var json对象=eval("(" + data + ")");注意这里两边的括号不可以去掉,因为在JS中每个方法都可以作为一个类来生成对象,这里就是用简易的方式来生成json对象。随后我alert数据的长度,发现和后台拼接的json数据长度一致,页面也能正常显示树状数据。

    总算解决了,在这里分享下,希望能对用到的朋友些许帮助。不到之处还请指正。

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zTree3.5 ajax