0

$_SESSIONグローバルを使用してアプリ内のデータを管理するPHPアプリケーションがあります。ただし、$ _ SESSIONの値を更新しようとすると少し問題があります。これは、これまでに行ったことです。

  1. 何かをする
  2. unset($ _ SESSION ['var'])
  3. 何かをする
  4. $ _SESSION ['var'] = newValue();

私は次のように使用してphpを呼び出します$.post()

$('#id').click(function(){
    $.post("page.php", function(data){
        //do stuff
        window.location = "goto.php";
    })
})

goto.php$ _SESSION ['var']からコンテンツを取得し、新しいhtmlを作成します。

ただし、Webページに移動するgoto.phpと、の最後のバージョンを使用して作成されたhtmlがロードされ$_SESSION['var']ます。Webページを更新すると、newで作成された新しいコンテンツが読み込まれることに注意してください$_SESSION['var']

また、これは通常の動作ではなく、ページをリロードせずに正しくロードされる場合があります。

私はここで根本的に間違っているのですか?

4

1 に答える 1

1

これはほぼ確実にキャッシュの問題です。特定のヘッダーをブラウザに送信して、ページをキャッシュしないように強制することができます。これにより、毎回リロードが保証されます。

これは、PHPで次のコマンドを使用して実行できます。

header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0.
header('Expires: 0'); // Proxies.

出典:すべてのブラウザでWebページのキャッシュを制御する方法は?

于 2012-07-06T19:30:04.060 に答える