人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MacのFireFox3にて画面を表示させるとサーバへ2度リクエストを送信してしまうという問題が発生し、解決できず困っております。

<form action="xxx.php" method="post">
<input type="hidden" name="hoge" value="値" />
<input type="submit" value="送信" />
</form>
上記の記述がなされたHTMLページにて「送信」ボタンを押下すると、
・POSTとしてリクエストされる(hidden項目が取得できる)
・GETとしてリクエストされる(hidden項目は取得できない)
という2リクエストがxxx.phpへきます。

また、xxx.phpにてsleep関数を使うと
1.POSTのリクエストくる
2.sleep関数が実行される
3.sleep関数の終了(xxx.phpの処理終了)を待ってからGETのリクエストがくる
という動作になります。
なおxxx.phpはsleep以外に「表示完了」という文字列を表示させる処理のみです。

リクエストヘッダ等はメモっていませんので不明ですが(ただしGETのリクエストも普通のリクエストっぽい)、このケースについての解決策をご回答いただきたく思います。

■クライアントの環境
OS:Mac OS X v10.5.7
ブラウザ:FireFox 3.0.11

■サーバの環境
Windows XP SP3
Apache2
PHP 5.2.?

●質問者: kiku-_-san
●カテゴリ:インターネット ウェブ制作
✍キーワード:firefox HTML Mac Mac OS X OS
○ 状態 :終了
└ 回答数 : 2/4件

▽最新の回答へ

1 ● QuestR2
●25ポイント

>GETのリクエストも普通のリクエストっぽい

とりあえず、リクエストを受ける側でPOSTでないものは無視することで回避されると思います。

>・GETとしてリクエストされる(hidden項目は取得できない)

この現象から見て、このフォームからのリクエストでないと思われます。

ほかにこのページにフォームとかボタンとかありませんか?

◎質問者からの返答

>とりあえず、リクエストを受ける側でPOSTでないものは無視することで回避されると思います。

根本的な解決策が見つからない状態ですので、こちらの対応方法も視野に入れさせていただきます。

ありがとうございます。

>ほかにこのページにフォームとかボタンとかありませんか?

質問文に書かせていただいたHTMLの記述のみです。


2 ● pahoo
●45ポイント

手元の MacOS X 10.5.7 + Firefox 3.0.11 では再現しませんでした。

条件は違いますが、Windows版ではバグ報告が上がっています⇒Fx3以降のバージョンでリクエストが同時に2度投げられてしまう


というわけで、ご質問のHTMLの部分以外で、何かお心当たりはありませんか? たとえば、別のformがあるとか、JavaScriptがあるとか。

「GETとしてリクエストされる(hidden項目は取得できない)」とのことですが、ご質問のHTMLですと、hidden項目以外に取得できるデータはないと思います。


また、Firefoxアドオンの「Live HTTP Headers」でリスクエストの状況を確認してみてください。

◎質問者からの返答

動作確認までしていただき、ありがとうございます。

HTMLについては質問文へ記載させていただいたもののみです。

OSやブラウザ自体のバージョンではなく、もしかしたらアドオンが影響しているかもしれません。

すぐには問題の端末が触れない状況ですので確認次第、コメント欄にて報告させていただこうと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ