Webページ再表示でSubmitされる問題対応

5月も終わりに近づき、大分暑くなってきました。そろそろ梅雨の時期でもあり、
じめっとした暑さに悩まされそうです。食べ物の腐敗にも気を付けたいですね。


さて、表題の件です。
自分は現在、目標課題で家計簿もとい出金記録Webページを作成中なのですが、
ちょっと困った現象が発生していました。

お手軽に登録出来るよう、スマホ用画面を用意して日々金額を登録していたのですが、
スマホでブラウザを選択した際、時々Webページ画面が勝手に更新されてしまい、
前回登録した情報が再度登録されてしまっていたのです。

原因を調査したところ、以下3点が分かりました。

・登録ボタン押下時、Submit処理でPOST送信を行っているので、再表示時に再登録されて
しまうのは分からんでもない。

・画面が勝手に更新されてしまうのは、恐らくスマホで別のアプリを開きすぎて
メモリ使用量が増え、ブラウザ表示時に再読み込みが行われたんだろうと思われる。

・POST再送信時は、確か確認メッセージが出るはずだが、この場合だと
メッセージは表示されない模様。何故かは不明。

とまあ、再登録のメカニズムは何となく分かりました。このままでは
問題なので、こういう場合どうすれば良いのか調べてみたところ、POST送信を受けた際、
リダイレクトでページ読み直しをすれば良いらしいです。
そうすることで、ページをGET送信で開いたことになり、再表示が行われても
登録処理は行われなくなるようです。

とりあえず、なんとか問題は解決しましたが、スマホならではの問題というか
なかなか気づきづらい内容でした。まあ、Webページ関係の仕事をしたことがある人には
常識なのかもしれませんね。

以上