-PR-
解決済み

画面の更新!?

  • 困ってます
  • 質問No.13303
  • 閲覧数228
  • ありがとう数9
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 59% (28/47)

データベース(DB)より読み込んだデータを更新する画面を作りました。更新画面のデータをホストにおくりDBを更新して、「更新処理が完了しました。」と表示する別画面をつくり、表示するところまではうまくいっているのですが(実際にDBデータも更新されている)、その画面から、タグの「<a」を使用して、更新画面に戻ってきても、そこに表示されるデータはDBが更新される前のデータなのです。(最初に表示したDBのデータ)どうすればよいのでしょうか。ちなみにIEの更新ボタンを押すと書き換えたデータが表示されます。
説明がヘタで申し訳ありませんが、よろしくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル12

ベストアンサー率 65% (242/372)

多分ブラウザのキャッシュにDBを表示させるURLのデータが残っているんでしょうね。
DBを表示させるのASPファイルの先頭に
<%
Response.Expires = -1
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Cache-control", "no-store"
%>
と記述してみて下さい。

それでも駄目なら、更新画面から表示画面へのリンクのURLを
<a href="表示画面.asp">
となっているところを
<a href="表示画面.asp?20001118162905">
とURLが常に変わるように動的にURLを作るといいかと思います。
例として日付+時刻などの文字列などでも有効かと思います。

キャッシュも効かず、URL変更するのも避けたい場合は
表示画面となるASPを呼び出した場合、内部で1度リロードするような処理をさせる方法もあります。
#オススメしませんけど

おそらく一番最初のキャッシュを無効にする処理を書けば
上手くいくかと思います。
試して駄目なら症状添えて教えていただければ対応しますよ。

それでは頑張って下さい。
お礼コメント
zima_id

お礼率 59% (28/47)

うまくいきました。
どうもありがとうございました。
なにかあったらまたよろしくお願いします。
投稿日時 - 0000-00-00 00:00:00
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル7

ベストアンサー率 45% (5/11)

更新ボタンを押すと書き換えたデータが表示される
ということは、DBを読み込む処理が通るからです。
別画面で『更新しました』などの画面から戻る処理は
ブラウザの『戻る』ボタンと同じ処理にしていませんか?

<FORM ACITON="表示画面" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="dummy">
</FORM>

でform から submit して見てください


  • 回答No.3
レベル12

ベストアンサー率 35% (146/416)

hequilさんのおっしゃるようにキャッシュが働いている可能性が大きいですね。
このキャッシュ機能をキャンセルする方法はいくつかありますが
簡単な方法としては、HTMLのHEADタグの間に、METAタグを打つ方法があります。
具体的には下記の通りです。

<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
</HEAD>

簡単ですのでお試し下さい。
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ