ZTree3.1在beforeRemove方法里写ajax方法异步删除问题
ztree吧
全部回复
仅看楼主
level 1
新手,求大家指教,我在beforeremove方法里写的ajax方法,代码如下:
function beforeRemove(treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.selectNode(treeNode);
if (confirm("确定要删除 '" + treeNode.name + "' 吗?")) {
$.post("addSMSHandler.ashx", { type: "delete", id: treeNode.id }, function (data) {
if (data.split('|')[0] == "ok") {
mark = true;
}
//删除出错
else {
alert(data.split('|')[1]);
mark = false;
}
}) }
请问删除出错后怎么把false返回,已验证因属于异步请求,在ajax方法外访问不到mark的值,求高手,还是不应该这样做异步删除,求高手,急…………
2012年05月14日 07点05分 1
level 1
求高手,先顶下
2012年05月14日 07点05分 2
level 9
感觉你应该在onRemove里面写,调用ajax更新记录
2012年05月14日 08点05分 3
level 1
那样,如果ajax出错了,怎么不删除当前节点呢?
2012年05月14日 08点05分 4
level 11
思路如下:
1、beforeRemove 中 触发 ajax 与后台通信,同时保持 永远return false
2、在自己的 ajax 的 success 中执行 removeNode 方法
2012年05月14日 10点05分 5
cancelEditName这个方法调用的时候有问题啊。。报这个错:Uncaught RangeError: Maximum call stack size exceeded。。求指导,一调用就报这个错
2013年10月25日 01点10分
回复 故事怎么写_lq :看看 API,同时检查你的代码,肯定是2、3个事件和 function 之间调用造成了死循环
2013年10月27日 13点10分
很棒,终于解决了,可以使用自己定义的弹窗了
2017年11月21日 08点11分
level 1
谢谢,已解决,把ajax异步提交换成同步提交就可以了[Yeah],async参数设置为false
2012年05月15日 03点05分 6
level 11
这个。。。。虽然解决了问题,但把异步加载的优势完全磨灭掉了
2012年05月15日 13点05分 7
level 1
这个没有办法,反正这个只是异步删除和修改,没有太大区别。用你的方法也可以,只是懒得改了,删除和修改做异步最大就是防止页面刷新,这个无所谓[Yeah]
2012年05月18日 03点05分 8
1