工作總結 專案中如何處理重複提交問題
阿新 • • 發佈:2019-05-02
在我們的日常業務中,有一些業務我們會需要我們限制使用者重複點選提交。
例如,在我們的訂單系統中,我們應該防止使用者重複點選下單,避免重複下單。
1. 前端的限制
首先需要前端人員的配合,頁面樣式只需要點選一次,點選一次就使用樣式禁止點選[但是,無法真正防止重複提交,還得靠後端的限制]。
2. 後端的限制
後端可以採用token方案:
- 當前頁面第一次載入時,請求服務端獲取唯一token
- 服務端生成token,並放入redis,接著返回token給客戶端(可以放在cookie中或者header中,如果放在header中,需要前端幫忙)
- 客戶端獲取token,存入當前的頁面
- 提交的時候的需要將頁面的token提交給伺服器
- 伺服器獲得頁面的token和redis中的進行比較,比較同時刪除token
String token = redis.get("token");
redis.delete("token");
String token1 = request.get("token");
if(token.equals(token1)){
boolean flag = redisTemplate.opsForValue().setIfAbsent(token,111);
if(flag){
// 執行