菜狗教程-03-如何解決快速提交兩次重複提交表單的問題

菜狗教程-03-如何解決快速提交兩次重複提交表單的問題

如何解決快速提交兩次重複提交表單的問題? 我在前端和後端分別找到了一種簡單實用的方式

  • vue如何解決快速重複提交表單的問題?
  • (1) 在組件中增加 ‘:disabled’屬性, 在data中定義變量'isDisable'變量,默認為false
菜狗教程-03-如何解決快速提交兩次重複提交表單的問題

菜狗教程-03-如何解決快速提交兩次重複提交表單的問題

  • (2)在調用的函數中,立即將isDisable設為true, 使其不能點擊, 然後執行ajax請求, 請求結束後,延遲1s中將isDisable還原為false,使其可點擊
菜狗教程-03-如何解決快速提交兩次重複提交表單的問題

  • (3)這樣的效果就是,用戶在提交一次表單後,有1s的時間按鈕是不可點擊的,使得重複提交的可能性大大降低
  • mysql可以 解決這個問題嗎?
  • 數據庫mysql可以解決這個問題嗎?
  • 答案是肯定的,
  • 我採取的方式是如果某些字段相同,則判斷為重複提交,就去替換他
  • 解釋一下下述sql 即為如果機器id,借用人和借用時間和以前某一條記錄是相同的,那麼就去替換她
  • insert into computer_borrowingrecords (ComputerID, Borrower, BorrowReason, StartBorrowTime, EndBorrowTime, ApplyTime) VALUES (1, 'suft', '11', '2019-10-12 09:00:00', '2019-10-12 12:00:00', NOW()) WHERE NOT EXISTS (SELECT * FROM computer_borrowingrecords where ComputerID = 1 and Borrower = 'suft'and BorrowReason = '11'and StartBorrowTime = '2019-10-12 09:00:00'and EndBorrowTime = '2019-10-12 12:00:00')
  • 綜上
  • vue的方式避免了第二次去訪問數據庫,避免兩次寫入數據,效率和可靠性上都是更高的,故選擇了vue的方式


分享到:


相關文章: