异步加载,你真的确定没问题?

YouYaX 发布于 2013/04/08 10:51
阅读 435
收藏 0

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

C:\APACHE\htdocs\ztree\demo\cn\core\async.html

结合C:\APACHE\htdocs\ztree\demo\cn\asyncData\getNodes.php这个文件看

再结合 C:\APACHE\htdocs\ztree\demo\cn\core\simpleData.html 看

我把getNodes.php里的代码换成[
{ id:1, pId:0, name:"父节点1 - 展开", open:true},
{ id:11, pId:1, name:"父节点11 - 折叠"},
{ id:111, pId:11, name:"叶子节点111"},
{ id:112, pId:11, name:"叶子节点112"},
{ id:113, pId:11, name:"叶子节点113"},
{ id:114, pId:11, name:"叶子节点114"},
{ id:12, pId:1, name:"父节点12 - 折叠"},
{ id:121, pId:12, name:"叶子节点121"},
{ id:122, pId:12, name:"叶子节点122"},
{ id:123, pId:12, name:"叶子节点123"},
{ id:124, pId:12, name:"叶子节点124"},
{ id:13, pId:1, name:"父节点13 - 没有子节点", isParent:true},
{ id:2, pId:0, name:"父节点2 - 折叠"},
{ id:21, pId:2, name:"父节点21 - 展开", open:true},
{ id:211, pId:21, name:"叶子节点211"},
{ id:212, pId:21, name:"叶子节点212"},
{ id:213, pId:21, name:"叶子节点213"},
{ id:214, pId:21, name:"叶子节点214"},
{ id:22, pId:2, name:"父节点22 - 折叠"},
{ id:221, pId:22, name:"叶子节点221"},
{ id:222, pId:22, name:"叶子节点222"},
{ id:223, pId:22, name:"叶子节点223"},
{ id:224, pId:22, name:"叶子节点224"},
{ id:23, pId:2, name:"父节点23 - 折叠"},
{ id:231, pId:23, name:"叶子节点231"},
{ id:232, pId:23, name:"叶子节点232"},
{ id:233, pId:23, name:"叶子节点233"},
{ id:234, pId:23, name:"叶子节点234"},
{ id:3, pId:0, name:"父节点3 - 没有子节点", isParent:true}
]

运行出来和你的demo例子一样,无底洞的列表形式,操作数据库只能按照这里的来

http://www.youyax.com/forum/Content-index-id-5003.shtml

加载中
0
zTree
zTree

1. 你那个调用数据库的完全没使用 异步加载呀,是页面生成时一次性生成全部的节点数据

2. 你只说了调用数据库的时候没办法使用异步加载,但你没说明任何原因呀, 你按照做的例子 让 server 能生成这种数据 就可以轻松实现 异步加载了呀?

3. 你可以先不考虑 zTree,自己在前段做一个 ajax 练习,让他能从 server 端动态获取 节点的 json 对象集合。。如果能搞定,那么你再看zTree 应该就没啥问题了

0
YouYaX
YouYaX

引用来自“zTree”的答案

1. 你那个调用数据库的完全没使用 异步加载呀,是页面生成时一次性生成全部的节点数据

2. 你只说了调用数据库的时候没办法使用异步加载,但你没说明任何原因呀, 你按照做的例子 让 server 能生成这种数据 就可以轻松实现 异步加载了呀?

3. 你可以先不考虑 zTree,自己在前段做一个 ajax 练习,让他能从 server 端动态获取 节点的 json 对象集合。。如果能搞定,那么你再看zTree 应该就没啥问题了

主要是你的异步加载例子不实用,不连接数据库,失去了demo的意义,而且你发现没有是无底洞的节点生成,你可以自己试试那个demo,无底洞

本来我想试着

$.post("...,...,function(返回的json){

 再结合你的simpleData.html的demo例子

$.fn.zTree.init($("#treeDemo"), setting, 返回的json);

}

但是这样是错的,不能这样写,报错


0
zTree
zTree

呵呵, demo 的意义是理解基本的使用方法, 异步加载的demo 只需要模拟 server 端生成数据即可,何苦再考虑数据从哪里来的呢?? 那已经属于后台的问题了。 我的Demo 做了 level 的限制,不可能是无底洞,出现了无底洞肯定是传参数有问题,你导致了每次都从后台获取同样的数据,那么肯定是无底洞了。

我觉得你现在的问题已经不是如何使用zTree的异步加载,而是需要正确理解异步加载的流程,以及 异步加载的意义。

0
YouYaX
YouYaX

我做了一下,

http://www.youyax.com/forum/List-index-f-2.shtml

挂在左边,效果还不错~本来还想每个子节点显示今日发帖数,

还不是特别会,等你出教程。

返回顶部
顶部