1、前端解决

方法一:

可以通过前端来解决。当用户点了提交按钮之后,先使用js进行有效性判断,没问题后,将提交按钮”禁用“掉。然后再提交!

方法二:

使用ajax提交表单。点了提交按钮后,禁用提将按钮,或者设置一个状态值,将其设为1,表示正在提交。再提交时判断如果正在提交,则不作处理。等ajax返回后,再恢复状态。


2、后端解决

有时候前端无法完全解决问题,比如我用了jquery.validateEngine,没有办法设置状态。所以考虑后端解决。

if(session(\"act_last_time\") != \'\'){
    if(floor( (time()-(int)session(\"act_last_time\")) % 86400 / 60)  <1 ){
        $this->error(\"对不起,一分钟之内不能频繁提交!\", U(\'Wap/MyAct/list\'), 5);
    }
}else{
    $t = (int)time();
    echo $t;
    $_SESSION(\"act_last_time\", $t);
}


后端解决不怎么友好,但绝对有效。即对提交频率进行控制。我这里设置的是1分钟。

收藏 打印