我不想阻止用戶多次點擊相同的ajax按鈕,但我想要執行一些控制以防止有人惡意地重複點擊按鈕,這會導致重複的數據庫請求。在asp.net mvc中處理jquery .post的簡單方法是什麼?如果我延遲了一段時間,客戶端體驗將被破壞(?)如何控制重複的Ajax'post'提交?
0
A
回答
6
爲什麼不在單擊後禁用按鈕,然後在收到服務器響應後重新啓用它?
1
在請求完成之前禁用按鈕?
1
您可以將按鈕放在定時器上,一旦按下它,它將在X秒內被禁用,或者直到它從服務器收到響應。
2
在您的javascript中設置一個標誌,指示未決請求,一旦響應到達未設置標誌。
這樣用戶可以多次點擊按鈕,只要他願意,就只會有一個'主動'請求到服務器。
2
爲什麼不跟蹤用戶按下按鈕的次數,並且每運行一個半秒鐘,就會運行提交查詢的方法以及點擊次數(或者不做任何事情,如果沒有點擊)。另外,在該方法中將點擊數重置爲0,以便下一個查詢將是準確的。
3
1
實際上適用於任何帖子的方法是添加由客戶端生成的隨機令牌。當服務器第一次收到帖子時會記錄該令牌,隨後將使用相同的令牌發出的任何後續請求都會被忽略。
相關問題
- 1. 控制提交
- 2. 提交給Spring控制器的JSP表單提交複選框
- 3. 基於Spring Annotation的控制器和重複表單提交
- 4. Laravel - 如何在控制器中提交ajax表單後提交重定向?
- 5. 如何使用控制器提交後提交表單重置語法
- 6. 如何防止重複表單提交
- 7. 如何在恢復後重做提交?
- 8. 如何使用NG重複,NG-形式提交後NG-提交
- 9. 重複控制
- 10. Sql Alchemy重複提交
- 11. Java HTTP Servlet重複提交
- 12. git rebase,提交重複
- 13. Git刪除重複提交
- 14. EventStore重複提交異常
- 15. 如何控制表單提交與變量的遙控器?
- 16. 如何忽略控制器重複值
- 17. 如何獲得在重複控制
- 18. SVN控制提交訪問
- 19. 重複控制 - Tabindex
- 20. Django提交複製表格
- 21. 如何將提交複製到master的新分支,除了特定的提交?
- 22. 如何恢復SVN提交?
- 23. git:推送單個提交,重新排序,重複提交
- 24. 重複控制在XPages裏面重複控制
- 25. 提交表單與複雜的數據類型來控制
- 26. InfoPath 2010 - 用於控制提交屬性的複選框
- 27. 如何獲得提交的數據控制器在控制器操作
- 28. 如何提交@using(Html.BeginForm())並將其內容提交給控制器
- 29. Git重複以前提交的部分
- 30. 字符串中的重複值 - 提交
重複我的回答 – 2009-02-05 23:23:57
簡單,有效,有一些方法可以發送請求,而不點擊按鈕,但你只是想使它足以讓普通人難以從做氣餒它。 – Mark 2009-02-05 23:55:23