2

当我使用 XPage 时,防止多次提交的最佳方法是什么?

对于“经典网络”解决方案如下。如何阻止来自 Web http://www-304.ibm.com/support/docview.wss?uid=swg21089865的同一文档的多次提交

使用jQuery,解决方案如下。 http://www.norio.be/blog/2008/09/using-jquery-prevent-multiple-form-submissions

但我不知道 Xapges 的方式。如何在 XPages 或 Dojo 中防止它发生?

4

2 回答 2

1

最好不要应用这种客户端技术,因为结合不可靠的互联网连接,用户可能会发现提交失败但无法重试。

一个更强大的解决方案是在服务器端进行重复数据删除,这可以通过多种方式完成;这些是我想到的一些:

  1. 定义表单内容的语义,这样无论您是否收到两个请求(例如,如果它正在更新一条记录,那么第二次更新就不会改变任何内容)。
  2. 如果您之前看到过完全相同的提交(比较所有相关字段),请忽略它。
  3. 将表单发送给客户端时生成一个序列号。不要接受具有您以前见过的序列号的提交 - 或做一些有用的事情;例如,如果是博客帖子或评论表单,则第二次提交应被视为对第一次提交创建的帖子的编辑。
于 2012-06-17T19:30:02.450 回答
0

You can prevent a submit by using XSP.addQuerySubmitListener and return false. This is not the easiest function to get working. So I suggest you take a look at the function in the book 'Xpages Portable Command Guide' or try my project multiple file uploader on OpenNTF. Download the project source code here.

于 2012-06-19T18:38:03.923 回答