我们正在使用.net MVC并且有一个表单提交电子邮件请求。一位用户的网络连接非常不稳定(在飞机上),并声称尽管点击了发送按钮一次,表单发布了6次,导致发送了6封电子邮件。我一直在环顾四周,但一直未能找到解释这种行为的方式。发布表单由于点击连接而多次提交,是否有任何方法?可以页面多次悄悄发布
1
A
回答
1
这真的取决于实际的浏览器,但我还没有看到有人这样做(事实上,这样做会很危险,例如在一些在线订购服务的情况下)。
但是,这样的事情可能会不经意地发生。有时候人们并不知道多次点击,因为他们没有注意到第一次点击触发任何事情。浏览器可能不会立即显示任何加载操作/活动,尤其是在连接不稳定的情况下。此外,由于某些硬件问题(鼠标按钮损坏),可能会执行多次点击,尽管只需点击一次即可。
可以肯定的是,我只需在表单中添加一些最低限度的JavaScript代码:在提交时,禁用提交按钮,并且还可以避免进一步尝试发送表单(第一次拦截onsubmit
事件并返回true
;从那里总是返回false
)。
2
我知道我迟到了,但我面临类似的问题,我相信这个问题是与浏览器。我们使用AJAX将表单数据提交给控制器,处理需要很长时间,因为要处理的数据非常庞大。像Chrome这样的浏览器,等待一段时间,如果他们没有收到响应,则假设请求丢失,并自行发送另一个请求,这很可能是您的情况。请注意,同样的问题在浏览器中不会发生Firefox和IE。
我们为避免这种情况所做的工作是让该方法异步工作,并在该时间间隔内回复AJAX方法,以避免Chrome再次发出请求。
这个link详细解释了同样的问题。
相关问题
- 1. 下载Facebook页面悄悄话
- 2. Facebook发送悄悄话
- 3. 悄悄地发送密钥
- 4. 使用Yammer Rest API向多个用户发布悄悄话API
- 5. 当页面加载时发送悄悄电子邮件
- 6. 悄悄重定向
- 7. 悄悄地eval悄悄地vsim仍然回声
- 8. 在WP8中悄悄发送短信
- 9. 发送悄悄话和Facebook白名单
- 10. javax.xml.parsers.DocumentBuilder悄悄解析不可能?
- 11. 如何悄悄地更新页面标题与JS(在Rails中)
- 12. 准备悄悄话系统
- 13. 悄悄安装.NET 3.5
- 14. 悄悄的MySQL源文件
- 15. 悄悄地导入rpy
- 16. ImportRange脚本悄悄地捕获错误
- 17. VBA MkDir悄悄地删除caron
- 18. 悄悄话不显示旧数据
- 19. 悄悄地向Papertrail报告错误
- 20. Android。更新应用程序悄悄
- 21. Scrapy - 悄悄放下一个项目
- 22. 回报率 - 悄悄话回复算法
- 23. twilio中的悄悄话消息php
- 24. 悄悄停止应用程序
- 25. Install4j悄悄更新主程序jar
- 26. 发布到RabbitMQ悄悄地在父进程中失败后分叉儿童
- 27. 问题发送悄悄话给Facebook好友与Facebook应用
- 28. Php图api发送悄悄话给朋友
- 29. facebook api从fanpage发送悄悄话给“likers”
- 30. 检索userId并发送悄悄话与linqtotwitter
谢谢你的洞察力。他们在Chrome上。从那以后,我们肯定会把客户端和服务器端的保护放在一起;我只是想确保我知道整个画面。 – cdutcher