2

XPages を使用しているときに、複数の送信を防ぐ最善の方法は何ですか?

「クラシックWeb」ソリューションの場合は以下です。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 つのリクエストを受信して​​も問題にならないようにします (たとえば、レコードを更新している場合、2 回目の更新では何も変更されません)。
  2. 以前にまったく同じ提出を見たことがある場合 (すべての関連フィールドを比較)、無視してください。
  3. フォームをクライアントに送信するときにシリアル番号を生成します。以前に見たことのあるシリアル番号を持つ提出物を受け入れないでください — または何か役に立つことをしてください。たとえば、ブログ投稿またはコメント フォームの場合、2 回目の送信は、最初の送信によって作成された投稿に対する編集として扱われる必要があります。
于 2012-06-17T19:30:02.450 に答える
0

XSP.addQuerySubmitListener を使用して送信を防止し、false を返すことができます。これは、機能させるのが最も簡単な機能ではありません。そのため、本「Xpages Portable Command Guide」の関数を参照するか、OpenNTF で私のプロジェクトの複数ファイル アップローダーを試すことをお勧めします。プロジェクトのソース コードはこちらからダウンロードしてください。

于 2012-06-19T18:38:03.923 に答える