[英]PHP Page content loads from cache when loading same page multiple times
我正在通過讀取會話變量來顯示購物車產品。
如果在page1中添加了產品,那么我正在設置會話數組變量。 導航到page2后,我正在加載會話內容以在page2的購物車中顯示產品。
然后,如果我在page2中添加了任何產品,然后轉到page1 ,則page1沒有顯示刷新的內容,而是從page1緩存中獲取內容。
但是當我做F5或CTRL + F5時,它工作正常...
我希望頁面每次訪問時都不會從緩存加載,即使它是同一頁面也是如此。
這是我的代碼:
<?php
echo "<script>
$(document).ready(function() {";
echo "add1('".$session_variable."')";
echo "});</script>";
?>
<script>
add1(item)
{
document.getElementById('ItemName').value=item;
}
<script>
編輯:我使用如下onclick事件從頁面1導航到頁面2。
<a onclick="window.location='page2.php'" style="text-decoration:none">Page2</a><br>
<a onclick="window.location='page1.php'" style="text-decoration:none">Page1</a><br>
我添加了以下幾行,但沒有用。
<META HTTP-EQUIV="Pragma" CONTENT="no-cache,must-revalidate">
<META HTTP-EQUIV="Expires" CONTENT="-1">
您如何前后導航?您是否有一個被單擊的網址向后導航,或者您是否使用window.history.back()?
如果您使用JavaScript導航回來,則可能是問題所在。 導航回第1頁時,請在其末尾使用帶有緩存符的URL,如下所示
window.location.href = "/page1.php?cb=" + Math.random();
有一些可能性:
重定向/或攔截f5鍵/來調用帶有參數的頁面,例如:
$(document).ready(function() {
var dfocus = $("input");
dfocus.keydown(function(e) {
if (e.keyCode == 116 ) { //f5
document.location.href="mypage.php?id="+Math.random(); // this may enforce to reload the page
}
...
那么您將強制加載頁面。 (與具有緩存的img src邏輯相同)
請嘗試添加<?php echo "<!--" . rand(0,9999999) . "-->"; ?>
<?php echo "<!--" . rand(0,9999999) . "-->"; ?>
<?php echo "<!--" . rand(0,9999999) . "-->"; ?>
在索引頁上的代碼中。
然后,請再次嘗試上述步驟,並告訴我結果。
並嘗試添加
<?php
if(!session_id()) {
@session_start();
}
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate( 'D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
if(isset($_SESSION['form_submitted'])) {
unset($_SESSION['form_submitted']);
header('Location: ?' . uniqid());
#header('Refresh: 0');
}
?>
默認情況下,window.location使用assign()來更改位置,通常這已經足夠了,但是我認為您可以使用replace()來獲得期望的結果。 這樣的事情:window.location.replace('page1.php')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.