之前web项目里js文件需要通过ajax删除关键字,使用了layer插件中的layer.confirm方法,还未经过选择结果判断就直接删除了,试了好多方法,最终得出如下解决方案:
layer官方文档描述如下:
layer.confirm(content,options,yes,cancel)
类似系统confirm,但却远胜confirm,另外它不是和系统的confirm一样阻塞
你需要把交互的语句放在回调体中。同样的,它的参数也是自动补齐的。
注意上述红色字体,代码如下:
var flag = false;
layer.confirm("确认删除节点吗?", {icon: 3, title:'提示'},
function(index){ //确认后执行的操作
$.ajax({
type: "POST",
dataType: "json",
url: url,
data: {data:data},
success: function(data){
if(data.status == 200){
flag = true;
layer.close(index);
layer.msg("删除成功");
}else if(data.status == 500){
layer.alert(data.msg);
}
},
error:function(){
layer.close(index);
layer.alert("删除出错");
}
});
},
function(index){ //取消后执行的操作
flag = false;
});
只要将相对应的操作放入相应的回调体中,即会执行相对应的操作。