2个回答
展开全部
最常用的方法就是利用token。即:
1、在生成页面的时候生成一个token(随机字符串),并把它同时写入表单的某个hidden中,和服务端的session中。
2、客户端提交表单到服务器时,比对表单中的token与session中的token是否一致。若不一致则认为是无效的请求。
3、不管第2步的校验是否通过,token只要使用一次后就立即作废(即:从session中销毁)。同时token也可以关联时间信息,超时后也自动作废。
这样,即便客户端重复提交,也只有第一次的请求能够成功。
1、在生成页面的时候生成一个token(随机字符串),并把它同时写入表单的某个hidden中,和服务端的session中。
2、客户端提交表单到服务器时,比对表单中的token与session中的token是否一致。若不一致则认为是无效的请求。
3、不管第2步的校验是否通过,token只要使用一次后就立即作废(即:从session中销毁)。同时token也可以关联时间信息,超时后也自动作废。
这样,即便客户端重复提交,也只有第一次的请求能够成功。
2015-02-13 · 知道合伙人软件行家
关注
展开全部
可以在当前页面里设置一个变量,通过这个变量来确定是否已经提交了,如果提交过了就不再提交。
示例代码:
<script language="javascript">
var checkSubmitFlg = false;
function checkSubmit(){
if(checkSubmitFlg ==true){
return false; //当表单被提交过一次后checkSubmitFlg将变为true,根据判断将无法进行提交。
}
checkSubmitFlg ==true;
return true;
}
< /script >
< form name="form1" method="post" onsubmit="return checkSubmit();">
………..
< /form>
更多追问追答
追问
可以写一些,提示一下吗?
追答
<script language="javascript">
var checkSubmitFlg = false;
function checkSubmit(){
if(checkSubmitFlg ==true){
return false; //当表单被提交过一次后checkSubmitFlg将变为true,根据判断将无法进行提交。
}
checkSubmitFlg=true;
return true;
}
</script >
< form name="form1" method="post" onsubmit="return checkSubmit();">
………..
</form>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询