1. 程式人生 > >工作總結 專案中如何處理重複提交問題

工作總結 專案中如何處理重複提交問題

在我們的日常業務中,有一些業務我們會需要我們限制使用者重複點選提交。

例如,在我們的訂單系統中,我們應該防止使用者重複點選下單,避免重複下單。

1. 前端的限制

首先需要前端人員的配合,頁面樣式只需要點選一次,點選一次就使用樣式禁止點選[但是,無法真正防止重複提交,還得靠後端的限制]。

2. 後端的限制

後端可以採用token方案:

  1. 當前頁面第一次載入時,請求服務端獲取唯一token
  2. 服務端生成token,並放入redis,接著返回token給客戶端(可以放在cookie中或者header中,如果放在header中,需要前端幫忙)
  3. 客戶端獲取token,存入當前的頁面
  4. 提交的時候的需要將頁面的token提交給伺服器
  5. 伺服器獲得頁面的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){
		// 執行