js 加锁

作者: Vxiao801 | 来源:发表于2018-09-27 11:14 被阅读0次

前端页面做提交时,为了防止用户在数据处理过程中反复提交数据,造成数据处理的冗余,以及为了防止反复提交给服务器带来不必要的负担,做一个小的锁,防止以上情况的出现。
当然用js做和服务器端做都是一样的,原理一致!

js代码:
(document).ready(function(){ var lock =false;//锁作为全局变量("#submit").on('click',function(){
//如果用户提交了一次,lock被置为true,锁开启。后续在锁被关闭之前,用户都不能提交数据。
if(lock)
{
//锁已经开启,在提交只会被阻断
return false;
}else
{
//锁开启,锁关闭只能是数据被处理完毕或者刷新页面,文档重新加载
lock = true;
}
$.post(url,data,function(response){
if(response.tip=="success")
{
//锁关闭,数据处理结束且操作成功
lock = false;
}else
{
//锁任然开启,数据处理完毕但是操作不成功,提示用户操作不成功,刷新页面重试。
lock = true;
window.location.reload();//刷新页面
}
},'json');
});
});


本文来自 SchopenhauerZhang 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/schopenhauerzhang/article/details/60476088?utm_source=copy

相关文章

  • js 加锁

    前端页面做提交时,为了防止用户在数据处理过程中反复提交数据,造成数据处理的冗余,以及为了防止反复提交给服务器带来不...

  • go语言协程加锁

    1.读写都加锁 2.读加锁,写不加锁 3.原子加锁

  • AQS --- 融会贯通

    一、ReentrantLock 加锁过程简介 加锁可以分为三个阶段: 尝试加锁; 加锁失败,线程入AQS队列; 线...

  • 加锁还是不加锁

    学习自码农翻身

  • 8.1.加锁-单例

    加锁-单例 加锁-单例.png

  • 使用Zookeeper实现分布式锁----基础版

    一、思路 锁的原语一般有两个:①加锁②解锁 加锁: 加锁的一般算法步骤是:1.尝试加锁2.如果锁没有被占用,则加锁...

  • python 单例代码块

    加锁 但是使用类方式创建的单例,无法支持多线程,因此使用加锁的方式; 未加锁部分并发执行,加锁部分串行执行,速度降...

  • mysql锁详解

    1. mysql锁知多少 我们进行insert,update,delete,select会加锁吗,如果加锁,加锁步...

  • 给静态方法加锁锁的是类

    给静态方法加锁 效果: 给普通方法加锁 效果:

  • MySQL到底是怎么加行级锁的?

    因为行级锁加锁规则比较复杂,不同的场景,加锁的形式还不同,所以这次就来好好介绍下行级锁。 对记录加锁时,加锁的基本...

网友评论

      本文标题:js 加锁

      本文链接:https://www.haomeiwen.com/subject/jsasoftx.html