防止重复请求数据

一、前端js限制

比如抽奖:

点击抽奖按钮后,在抽奖方法前设置一个变量(animating: false,//是否正在抽奖),执行抽奖方法时将这个变量设置为true(animating: true),待抽奖完毕,再将这个变量改为false。

防止重复请求数据_第1张图片

二、php限制

①抽奖:

设置一个数据库字段(is_lottery),当执行抽奖方法时, 查询该变量是否存在 。如果存在该字段值,则不继续执行抽奖方法,返回结果即可;如果该字段值不存在,更新该字段值(is_lottery=1),并执行抽奖。抽奖完毕,将该字段值删除。

防止重复请求数据_第2张图片

②用户端定时每隔一段时间请求一个接口更新数据,防止多个用户重复请求。(假如这个请求需要1分钟)

每次请求时生成“变量+请求时间”的数据,请求时判断对应“变量相对应的时间”,如果这个时间和当前时间相比大于1分钟,那重新请求。 如果时间小于一分钟,就返回不继续请求。

你可能感兴趣的:(防止重复请求数据)