菜狗教程-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的方式


分享到:


相關文章: