layui 弹窗关闭问题
一个弹出层,有个“确定”按钮,点击确认的时候,有个请求,这时候不希望立即关闭窗口,而是根据接口返回的结果来判断是否要关闭窗口
根据官方文档提示,只要在回调函数里面return false 就不会关闭窗口,
layer.open({
btn: ['取消', '确认'],
btn2: function(index, layero){
var result = false;
$.ajax({
url: "xxxx",
type: "POST",
contentType: 'application/json',
dataType: "json",
data: JSON.stringify({email: email, code:code, password:password}),
success: function(res){
if (res.code == 401) {
result= false;
}else if(res.code == 200){
result= true;
};
},
});
return result;
但是我发现 return result 在 ajax 请求还没返回结果时,result result 先执行了,所以一直返回false导致无法关闭
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因为 ajax 是异步请求,这里并不会阻塞等待他执行完成,可以使用 layer.close来处理。
layer.open
会返回一个资源ID,在 ajax 的结果中使用layer.close(资源ID)
来关闭弹窗。