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

 更新时间:2019年09月23日 10:45:56   作者:流离岁月  
今天小编就为大家分享一篇解决layer.confirm快速点击会重复触发事件的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

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

2.问题分析 :查看layerUI的API发现,系统的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快速点击会重复触发事件的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 极力推荐10个短小实用的JavaScript代码段

    极力推荐10个短小实用的JavaScript代码段

    这篇文章主要为大家极力推荐10个短小实用的JavaScript代码段,帮助大家节省大量开发时间,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • javascript下function声明一些小结

    javascript下function声明一些小结

    function声明一些东西,我们都知道function和var一样是预处理的在js里面,但是到底什么是函数声明呢,我们来看几个例子
    2007-12-12
  • javascript 发布-订阅模式 实例详解

    javascript 发布-订阅模式 实例详解

    这篇文章主要介绍了javascript 发布-订阅模式,结合实例形式详细分析了javascript发布-订阅模式基本功能、原理、实现方法与相关使用技巧,需要的朋友可以参考下
    2023-06-06
  • 微信小程序实现一键登录

    微信小程序实现一键登录

    这篇文章主要为大家详细介绍了微信小程序实现一键登录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • JavaScript中的继承之类继承

    JavaScript中的继承之类继承

    在JS中继承是一个非常复杂的话题,比其他任何面向对象语言中的继承都复杂得多。接下来通过本文给大家介绍JavaScript中的继承之类继承,感兴趣的朋友一起看看吧
    2016-05-05
  • ScrollDown的基本操作示例

    ScrollDown的基本操作示例

    本文将涉及到scroll方法的应用,判断当滚动条滚到底部时触发scrollTop执行函数,具体代码如下,感兴趣的朋友可以了解下哈
    2013-06-06
  • js实现一个简单的MVVM框架示例

    js实现一个简单的MVVM框架示例

    下面小编就为大家分享一篇js实现一个简单的MVVM框架示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • JS常用算法实现代码

    JS常用算法实现代码

    这篇文章主要为大家详细介绍了用JS常用几个算法的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • JavaScript判断文件类型三种方法详解

    JavaScript判断文件类型三种方法详解

    计算机系统并不是通过文件的后缀名来判断文件类型,而是通过文件签名来判断,下面这篇文章主要给大家介绍了关于JavaScript判断文件类型三种方法的相关资料,需要的朋友可以参考下
    2024-04-04
  • JavaScript实现函数重载的代码示例

    JavaScript实现函数重载的代码示例

    在JavaScript中并没有直接支持函数重载的机制,但是可以通过一些技巧来模拟函数重载的效果,比如使用参数判断,使用默认参数,对象参数,这些方法都可以实现类似函数重载的效果,所以本文就给大家介绍一下JavaScript如何实现函数重载,需要的朋友可以参考下
    2023-08-08

最新评论