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

因项目需求,用到了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数据长度一致,页面也能正常显示树状数据。

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

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...