簡體   English   中英

防止同一個請求不止一次

[英]prevent the same request done more than once

我有一個在工廠Intranet中運行的ASP.NET MVC3應用程序。 工廠使用Internet Explorer和最終用戶有點不耐煩。 在我向數據庫添加新對象的頁面中,資源管理器不會快速響應,用戶重新按下添加按鈕,因此會插入兩次相同的對象。 我在想辦法防止它。

我編寫了一個腳本,按下按鈕后按鈕不可見,但我想讓它不起作用。 是否有這樣的javascript函數或服務器端實現,使提交按鈕不起作用?

客戶端:“不工作”

我會說禁用

 document.getElementById("btnAdd").disabled = true; 

比讓它看不見更安全一點。 最重要的是,考慮從http://www.ajaxload.info/以GIF的形式添加加載動畫,以便用戶知道他們必須等待。

理想情況下,您將進行ajax調用,並且如果操作失敗或返回消息,則可以重新啟用該按鈕。

在最糟糕的情況下,您可以完全從頁面中刪除按鈕,但如果操作失敗並且用戶需要再次按下它,那不是一個好主意。

“不工作”服務器端:

在數據庫級別,捕獲並拒絕重復項(根據您的標准),以確保即使它們確實過了一次,您也不會得到重復數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM