用户在提交表单或者操作按钮的时候经常会出现重复操作,主要是因为客户端向服务器发出请求后有一段响应时间,在这段时间内,用户很有可能会重复点击操作按钮,导致重复发出请求。
为了避免重复数据产生,我们可以从客户端和服务端两个方面进行控制。
一,客户端 客户端控制思路很简单,就是让客户无法重复点击操作按钮,当然这个应该做得人性化一点,要不会影响用户体验。 1,对于提交表单的,我们可以在页面上做遮罩层,显示数据处理中,可以提示用户等待,又可以防止重复提交; 2,对于按钮操作,可以在按钮点击后改变颜色,变成不可点击,同时弹出类似等待的图形,避免误操作; 将按钮设置成无效,可以参考如下方法:
//两种方法设置disabled属性 $('#areaSelect').attr("disabled",true); $('#areaSelect').attr("disabled","disabled"); //三种方法移除disabled属性 $('#areaSelect').attr("disabled",false); $('#areaSelect').removeAttr("disabled"); $('#areaSelect').attr("disabled","");二,服务端 在服务端避免用户重复提交更为可靠,不过要消耗服务器资源,增加判断逻辑。相对客户端稍微复杂一点,我们可以根据不同的业务,编写不同的判断逻辑。
保险起见,我们应该在客户端和服务端同时加限制。
新闻热点
疑难解答