私が保守している GWT アプリケーションに奇妙な新しいバグが発見されました。それがいつ問題になったのかはわかりません。おそらく新しいFirefoxバージョンで。
FormPanel を使用して POST 要求をサーバーに送信しています。これは、基本的にオンラインで見た多くの例と同じです。しかし、実際には PUT 要求が必要なので、隠し入力パラメーターの 1 つに「メソッド」という名前が付けられ、値が「put」になっています。
ここで、Firefox からの Fiddler のリクエストを見ると、QueryString のすべてのパラメーターを使用して GET リクエストに変換されています。IE と Chrome では、パラメーターは POST 要求の本文にあります。
FormPanel.getMethod() の値をアラートに表示しました。IE と Chrome では文字列「post」が表示されますが、firefox では「object HTMLInputElement」が表示されます。残念ながら、ホスト モードのデバッグはこのプロジェクトでは機能しません。
明らかに、FormPanel の getMethod() 関数が、Firefox の実際のフォームのメソッドではなく、method という名前の非表示の入力パラメータを返しているようです。
技術的には、これは私たちが使用している OpenSource プロジェクトからのものであるため、サーブレットを変更することは避ける必要がありますが、隠し入力パラメーターの名前を両端で「_method」に変更することで問題を解決できることがわかりました。
誰もこのようなものを見たことがありますか?Google で何も見つかりません。
更新: 役立つ場合に備えて、GWT 2.3 を使用しています