如何对ajax获取的非标准数据进行预处理 api上没有相关函数 急
ztree吧
全部回复
仅看楼主
level 1
需求是,ajax请求获取一个字符串,但是需要对这个字符串进行一定的处理才能转换成ztree可用的json。
我在api里找了找 只发现这么一个setting.async.dataFilter,这个函数明显没什么作用。
我的思路是,在ajax请求成功后,有一个方法对请求来的数据进行处理,然后返回一个ztree可用的标准json。
不知道,这个思路应该怎么实现,求教!谢谢!
2012年09月18日 08点09分 1
level 1
斑竹在不在呢?
看到了你之前在贴吧的回复
ajax+ztree+异步加载怎样结合使用?
1、如果你用了自己的方法实现异步加载,那么当然可以不使用 zTree 的异步加载模式的。
2、zTree 的 dataFilter 是为了那些使用 zTree 异步加载模式的用户,当返回的数据不能完全满足 zTree 的节点数据格式时,对数据进行的预处理操作。
3、otherParam 不支持 function;但 url 是支持 function 的,你完全可以不使用 otherParam了。
---------------------------------
关于第二条,我想知道,怎样获取“返回的数据 ”呢?api里面 dataFilter,
Function(treeId, parentNode, childNodes)只有这三个参数呀!
2012年09月18日 09点09分 2
level 1
[傻笑]树先生,你好好休假吧,问题解决了,就是用第三个参数。
http://cache.baidu.com/c?m=9d78d513d98b07ef0fba837e7c01a1600e2786743da7c76579c3e04c841559563010f7fc677c1f5e95833e7000dc5441acab6122641420c0cb9bd31c9aac925f7ed57829240b87354b9b0eaebd4524c62b9351e8a818e1&p=c436861885cc42ac05b7c4710e10d729&user=baidu&fm=sc&query=ztree+%D4%A4%B4%A6%C0%ED&qid=9ce0651b01174c69&p1=8
-----------------------------------------------------------------------
V3.2 api描述
childNodesArray(JSON) / JSON
异步加载获取到的数据转换后的 Array(JSON) / JSON 数据对象
看到这个,childNodes我一直认为,它是根据标准json生成的树节点,并且误解为dataFilter 这个函数只能对载入进来的标准的节点进行再次修改,我理解错了。
建议:
文档上的childNodes字面上容易理解为子节点(已经生成的树上的子节点),可以换成 childsData,这样的话,从字面上看一般就会认为这是表示服务器返回的子节点数据了。
祝ztree越办越好哈!
2012年09月18日 10点09分 3
呵呵, 怎么也应该是 childrenData; 你犯了和我之前同样的错误! 感谢支持! 这个建议我手下了!
2012年09月25日 01点09分
想了一下,直接修改为 requestData 就是了
2012年09月25日 01点09分
回复 zTreeAPI :呵呵,照你这个思路应该是responseData...
2012年10月06日 11点10分
回复 聪敏的笨小孩 : 恩恩,就应该是 responseData 那天想着是这个,写的是那个,哈哈
2012年10月08日 13点10分
level 3
dataFilter中的childnodes会持有传过来的数据,你新建json对象,将childnodes中的json对象提出来放在里面即可
2012年10月06日 05点10分 4
1