我有一个PHP应用程序,它使用$ _SESSION global来管理应用程序内的数据。但是在尝试更新$ _SESSION的值时我遇到了一些问题,这是我到目前为止所做的:
我使用$.post()
这样调用php:
$('#id').click(function(){
$.post("page.php", function(data){
//do stuff
window.location = "goto.php";
})
})
goto.php
抓取$ _SESSION ['var']中的内容并构建一个新的html。
但是,当网页转到goto.php
时,它会加载使用上一版$_SESSION['var']
创建的html。请注意,如果我刷新网页,则会加载使用新$_SESSION['var']
创建的新内容。
此外,这不是常规行为,有时它会在没有页面重新加载的情况下正确加载。
我在这里做的根本错误是什么?
答案 0 :(得分: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.