JS WEB前端开发如何防止重复提交的实现方

JavaScript032

JS WEB前端开发如何防止重复提交的实现方,第1张

定义一个变量。

var flag= 0

如果flag=0 就让提交

在提交后,数据没有返回来前,将flag=1

数据返回来后再设置成0

这样就能防止重复提交。非常有效。

在客户端那边去做限制,在最后一个请求没响应回来之前不能发起另外的请求。

a、提交事件触发后, 禁用控件,不让客户提交

b、设置一变量作为标识,如果是0就接受提交,如果是1就不接受. 每次提交的时候设为1,服务端响应之后设为0

服务端,

1在数据库层面防止重复数据写入

2使用 RateLimit 定义规定时间内同一操作不能超过几次,

3采用队列写入

4每次提交都需要申请一个 token ,每个 token 只能用一次

1、用 javascript 设置一个变量,只允许提交一次;

参考如下:

<script type="text/javascript">

var checkSubmitFlg = false

function checkSubmit(){

if (checkSubmitFlg == true){

return false

}

checkSubmitFlg = true

return true

}

document.ondblclick =

function docondblclick(){

window.event.returnValue = false

}

document.onclick =

function doconclick(){

if (checkSubmitFlg){

window.event.returnValue = false

}

}

</script>

<form action="action.php" method="post" onsubmit="return checkSubmit()">

用 javascript 将提交按钮或者 img 置为 disable;

参考如下:

<form action="action.php" method="post" onsubmit="getElById('submitInput').disabled = truereturn true"> 

<img styleId="submitInput" src="images/ok_b.gif" border="0" />

</form>