• 締切済み

クライアントプルについて

こんにちは。 画面の再描画を行ないたいために、 <META HTTP-EQUIV="Refresh" CONTENT="100"> と書いているのですが、再読み込みしようとすると、 「ページは、情報を再送信しなければ、更新できません。・・・(以下略)」 というメッセージが出てしまいます。 なぜこういったメッセージが出てしまうのでしょうか? また、出さないためにはどういった解決法があるでしょうか? ちなみに、開発環境は WindowsNT4.0、IIS、ASP、SQLServer6.0、IE5.5 です。 よろしくお願いします。 (質問するカテゴリが間違っていたらすいません・・)

みんなの回答

  • President
  • ベストアンサー率57% (12/21)
回答No.3

こんにちは。No.2の解答者です。 再読み込みする処理をJavaScriptで実装します。しかし、この場合、 ブラウザでの更新(下記の3パターン)では対応できません。 あくまで、自動再読み込みです。 asp内で (1)<META HTTP-EQUIV="Refresh" CONTENT="100">を削除して下さい。 (2)受け取ったパラメータをすべて隠しフォームに入れて下さい。 (3)ドキュメントのロード後にタイマをセットして下さい。 以下コードの例です。 xxx.aspでパラメータp1=a、p2=bの場合(VBScript) <HTML> <HEAD> <TITLE>x</TITLE> </HEAD> <SCRIPT LANGUAGE="JavaScript"> function loaded() {setTimeout("submiter()",5000);} function reloader() {window.location.href = "xxx.asp";} function submiter() {document.f.submit();} </SCRIPT> <% dim p1 dim p2 p1= Request.Form("p1") p2= Request.Form("p2") %> <BODY onLoad="loaded()"> 5秒後にリフレッシュ <FORM NAME="f" METHOD="post" ACTION="xxx.asp"> <INPUT TYPE="hidden" NAME="p1" VALUE="<%= p1 %>"> <INPUT TYPE="hidden" NAME="p2" VALUE="<%= p2 %>"> </FORM> </BODY> </HTML>

PPinky
質問者

お礼

ご回答ありがとうございます。 解決いたしました!

  • President
  • ベストアンサー率57% (12/21)
回答No.2

こんにちは。 まず、このメッセージはFORMデータをPOSTで送信し、受け取った ページ(xxx.asp)を更新するときにでます。 再読み込み時はFORM送信でない為です。 (aspページを再読み込みしようとしていると勝手に解釈しています) 解決策は、いろいろありますが簡単な方法として、 FORM送信するデータが少ないのであれば、FORMをGETで送信する のがいいでしょう。 GETができないのであれば、JavaScriptで対応する手もありますが... 的はずれだったらごめんなさい。

PPinky
質問者

お礼

ご回答ありがとうございます。 GETに変更してみましたが、メッセージが出てきました。 再読み込みのパターンとしまして、3パターン考えられると思います。 1.ブラウザの「更新」ボタン 2.ファンクションキーの「F5」 3.「CTL」+「R」 JavaScriptで対応するとなると、 実際どのように書けばよいのでしょうか? 恐れ入りますが、御教授くださいませ。 (JavaScriptのカテゴリで書くべきでしょうか・・?)

PPinky
質問者

補足

「GETに変更してみましたが、メッセージが出てきました。」と書きましたが、 すいません、誤りです。 GETに変更するとメッセージは出てきません。 (ちなみにGETに変更すると、修正個所が大きくなるため使用できません。) すいませんでした。

  • NINJA104
  • ベストアンサー率43% (133/306)
回答No.1

CONTENT="100" を以下の様に書き換え、明示的に指定してあげるとどうでしょうか? <META HTTP-EQUIV="Refresh" CONTENT="100; 再読み込みさせたいページのURL">

PPinky
質問者

お礼

早速のご回答、ありがとうございます。 明示的に指定してみましたが、やはりメッセージはでるようです。

関連するQ&A