解决layer.confirm快速点击会重复触发事件的问题


Posted in Javascript onSeptember 23, 2019

layer.confirm快速点击会重复触发事件问题

1 .问题描述: 快速点击会出现,重复触发事件,像后台发起多次请求,此时后台极端=短时间内多次请求,会出现并发问题,数据脏读

解决layer.confirm快速点击会重复触发事件的问题

2.问题分析 :查看layerUI的API发现,系统的confirm是线程阻塞的,而layer.confirm是非阻塞的

解决layer.confirm快速点击会重复触发事件的问题

3.问题解决

方案1. 防止重复触发事件,前台js加锁

方案2.后台代码加乐观锁

此时,方案1解决这个问题最佳

4.具体实现:

//出库
 output: function () {
   console.log("出库请求---");   	         
   var lock=false;//默认未锁定
   var myconfirm=layer.confirm('是否确认出库?',{btn: ['确定','取消']},function(index){
      console.log('success');
      console.log(lock);
       //
       if(!lock){
      	 lock=true;//锁定
        //发送
       console.log("ajax---");
        //发送ajax
        $.ajax({
         url: '/dubbo/../outBoundByTask.json',
         isAysn: false,
         type: 'get',
         contentType: 'application/json',
         data:params.join('&'),
         success: function (result) {
               	
         	var res=$.parseJSON(result);
         var code=res.code;
         	
         	if(code==0){
         		layer.msg("操作成功!");
         		window.location.reload();
         	}else{
         		layer.msg(res.msg);
         	}
         	
          

         }
        });
       }
       layer.close(myconfirm);
      }
      ,function(index){
       console.log('fail');
      });
    }

以上这篇解决layer.confirm快速点击会重复触发事件的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js常用函数 不错
Sep 08 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
Feb 23 Javascript
JQuery实现简单验证码提示解决方案
Dec 20 Javascript
jQuery阻止同类型事件小结
Apr 19 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
Oct 25 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
Jan 26 Javascript
JavaScript的作用域和块级作用域概念理解
Sep 21 Javascript
JavaScript动态改变表格单元格内容的方法
Mar 30 Javascript
javascript动态添加checkbox复选框的方法
Dec 23 Javascript
JavaScript与jQuery实现的闪烁输入效果
Feb 18 Javascript
AngularJS实现表格的增删改查(仅限前端)
Jul 04 Javascript
Vue中的字符串模板的使用
May 17 Javascript
小程序最新获取用户昵称和头像的方法总结
Sep 23 #Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
Sep 23 #Javascript
layui内置模块layim发送图片添加加载动画的方法
Sep 23 #Javascript
微信头像地址失效踩坑记附带解决方案
Sep 23 #Javascript
微信小程序如何获取用户头像和昵称
Sep 23 #Javascript
微信小程序使用蓝牙小插件
Sep 23 #Javascript
微信小程序实现蓝牙打印
Sep 23 #Javascript
You might like
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
PHP中一个控制字符串输出的函数
2006/10/09 PHP
实用函数4
2007/11/08 PHP
PHP多线程抓取网页实现代码
2010/07/22 PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
2016/08/11 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
2015/11/03 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
jQuery 实现左右两侧菜单添加、移除功能
2018/01/02 jQuery
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
python机器学习之神经网络(一)
2017/12/20 Python
python模糊图片过滤的方法
2018/12/14 Python
django富文本编辑器的实现示例
2019/04/10 Python
使用celery和Django处理异步任务的流程分析
2020/02/19 Python
Python如何实现爬取B站视频
2020/05/20 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
加拿大领先的冒险和户外零售商:Atmosphere
2017/12/19 全球购物
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
毕业生大学生活自我总结
2014/01/31 职场文书
幼儿园中班教学反思
2014/02/10 职场文书
教师党员一句话承诺
2014/03/28 职场文书
新学期教师寄语
2014/04/02 职场文书
挂职学习心得体会
2014/09/09 职场文书
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB