为什么不能够在ztree中动态修改async的url
答案:2 悬赏:40
解决时间 2021-02-18 08:34
- 提问者网友:容嬷嬷拿针来
- 2021-02-17 09:21
为什么不能够在ztree中动态修改async的url
最佳答案
- 二级知识专家网友:鱼忧
- 2021-02-17 09:54
var treeSourceURL = appGetRootDept+userID;
var settingSourceTree = {
async:{
enable:true,
url:treeSourceURL,
type:"get",
dataFilter:filter_asyncSourceTree
},
写成url:tresSourceURL,这样做是因为初始的时候的url要根据userID来拼接。这样获得一级部门没有问题,但问题在于获取2级部门的时候,url发生了改变,我需要动态的修改url,
我在beforeAsync里面使用
var t = $.fn.zTree.getZTreeObj("treeSource");
var nodes = t.getSelectedNodes();
deptID = nodes[0].id;
alert(deptID);
treeSourceURL = appGetChild+deptID+userCid+userID;
settingSourceTree.async.url=treeSourceURL;
alert("2"+settingSourceTree.async.url);
到目前为止,都很顺利,alert出来settingSourceTree.async.url已经改变我想要的url,
但当真正的进行ajax的时候,通过调试器发现请求的url仍然是一级部门请求的url,并没有改变成
我在beforeAsync里修改的url;
这是为什么呢? 是否是因为我不应该在beforeAsync里面修改?
于是我在onClick回调函数里采用
function onClick_SourceTree(event,treeId,treeNode,clickFlag){
var t = $.fn.zTree.getZTreeObj("treeSource");
var nodes = t.getSelectedNodes();
deptID = nodes[0].id;
//alert(deptID);
treeSourceURL = appGetChild+deptID+userCid+userID;
settingSourceTree.async.url=treeSourceURL;
//alert("1 "+settingSourceTree.async.url);
}
结果与在beforeAsync里修改一样,settingSourceTree.async.url的值是被修改了,但是
在ajax的时候,url仍然是初始化的时候的url。
没有仔细的阅读api,使用getAscynURL已经解决了该问题
var settingSourceTree = {
async:{
enable:true,
url:treeSourceURL,
type:"get",
dataFilter:filter_asyncSourceTree
},
写成url:tresSourceURL,这样做是因为初始的时候的url要根据userID来拼接。这样获得一级部门没有问题,但问题在于获取2级部门的时候,url发生了改变,我需要动态的修改url,
我在beforeAsync里面使用
var t = $.fn.zTree.getZTreeObj("treeSource");
var nodes = t.getSelectedNodes();
deptID = nodes[0].id;
alert(deptID);
treeSourceURL = appGetChild+deptID+userCid+userID;
settingSourceTree.async.url=treeSourceURL;
alert("2"+settingSourceTree.async.url);
到目前为止,都很顺利,alert出来settingSourceTree.async.url已经改变我想要的url,
但当真正的进行ajax的时候,通过调试器发现请求的url仍然是一级部门请求的url,并没有改变成
我在beforeAsync里修改的url;
这是为什么呢? 是否是因为我不应该在beforeAsync里面修改?
于是我在onClick回调函数里采用
function onClick_SourceTree(event,treeId,treeNode,clickFlag){
var t = $.fn.zTree.getZTreeObj("treeSource");
var nodes = t.getSelectedNodes();
deptID = nodes[0].id;
//alert(deptID);
treeSourceURL = appGetChild+deptID+userCid+userID;
settingSourceTree.async.url=treeSourceURL;
//alert("1 "+settingSourceTree.async.url);
}
结果与在beforeAsync里修改一样,settingSourceTree.async.url的值是被修改了,但是
在ajax的时候,url仍然是初始化的时候的url。
没有仔细的阅读api,使用getAscynURL已经解决了该问题
全部回答
- 1楼网友:野味小生
- 2021-02-17 11:01
我暂时保留我的看法!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯