用戶在提交表單或者操作按鈕的時候經常會出現重復操作,主要是因為客戶端向服務器發出請求后有一段響應時間,在這段時間內,用戶很有可能會重復點擊操作按鈕,導致重復發出請求。
為了避免重復數據產生,我們可以從客戶端和服務端兩個方面進行控制。
一,客戶端 客戶端控制思路很簡單,就是讓客戶無法重復點擊操作按鈕,當然這個應該做得人性化一點,要不會影響用戶體驗。 1,對于提交表單的,我們可以在頁面上做遮罩層,顯示數據處理中,可以提示用戶等待,又可以防止重復提交; 2,對于按鈕操作,可以在按鈕點擊后改變顏色,變成不可點擊,同時彈出類似等待的圖形,避免誤操作; 將按鈕設置成無效,可以參考如下方法:
//兩種方法設置disabled屬性 $('#areaSelect').attr("disabled",true); $('#areaSelect').attr("disabled","disabled"); //三種方法移除disabled屬性 $('#areaSelect').attr("disabled",false); $('#areaSelect').removeAttr("disabled"); $('#areaSelect').attr("disabled","");二,服務端 在服務端避免用戶重復提交更為可靠,不過要消耗服務器資源,增加判斷邏輯。相對客戶端稍微復雜一點,我們可以根據不同的業務,編寫不同的判斷邏輯。
保險起見,我們應該在客戶端和服務端同時加限制。
新聞熱點
疑難解答