LUNARAVE WEBクリエイターの仕事と休息

アクセスカウンタ

Google Maps APIの利用戦国IXAWeb技術Youtubeチャンネル

zoom RSS POSTが同時に複数送信される場合の原因

<<   作成日時 : 2012/10/05 21:13   >>

ブログ気持玉 0 / トラックバック 0 / コメント 1

あるシステムをPHPとPostgreSQLで構築中に、データを登録する一つの機能で重複登録されたり、されなかったりという現象が発生した。

まずはアプリ側のソースから確認する。
ソースファイルの中でデータベースにインサートする箇所を確認してみるも、処理は一回しか実行されないようになっている。

次に現象が発生する場合と発生しない場合があるので検証する環境に目を向けてみる。

検証時に利用したブラウザは"IE8"の他、"Firefox"など。
しかし、同じ"IE8"でも発生する端末と発生しない端末があり、アプリ側に原因があるのか、端末側に原因があるのか切り分けが難しい。

"Apache"のアクセスログを見ると同時刻に"POST"が2つ来ているので、ブラウザを介して処理されているのは間違いない。


調査の結果としては、データ登録に利用するFormタグ内にはSubmitするボタンがあり、そのボタンにはJavaScriptで「クリック時に指定する値をサーバに送信する」という処理を付けていた。

Submitボタンを押すと同時に、本来のFormタグの送信機能に加えてJavaScriptの処理でサーバに対して2つPOSTしていたということになる。


問題は全てのブラウザでPOSTが2つ飛ぶとは限らず、ブラウザが違う場合はもちろん、同じブラウザとOSでも挙動が異なる場合がある。


"Firefox"の大方のバージョンではPOSTが1つしか飛ばない。
対して"IE"は6、7、8ともに端末が違うとPOSTが1つしか飛ばないものと、2つ飛ぶ場合と分かれる。


今更ながらFormとJavaScriptの2つで送信させてしまうというミスをしたが、敢えて値の違う送信を同時に2つ飛ばしたい場合は検討が必要である。

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(1件)

内 容 ニックネーム/日時
Quality content is the secret to interest the visitors to pay a
quick visit the website, that's what this web page is providing.
Isobel
URL
2017/07/25 16:48

コメントする help

ニックネーム
URL(任意)
本 文
POSTが同時に複数送信される場合の原因 LUNARAVE WEBクリエイターの仕事と休息/BIGLOBEウェブリブログ
文字サイズ:       閉じる