因项目需求,用到了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 + ")");@H_301_8@注意这里两边的括号不可以去掉,因为在JS中每个方法都可以作为一个类来生成对象,这里就是用简易的方式来生成json对象。随后我alert数据的长度,发现和后台拼接的json数据长度一致,页面也能正常显示树状数据。
原文链接:https://www.f2er.com/ajax/164985.html