Принудительная страница для перезагрузки с сервера вместо загрузки кешированной версии

У меня есть веб-страница A. Пользователь нажимает на форму для отправки данных и берет его на веб-страницу B. Когда он нажимает кнопку «Назад», мне нужна веб-страница A, которая будет обновляться с сервера, а не загружается из кеша. У меня есть это: <meta http-equiv="expires" content="0"> но он, похоже, не работает. Я также попытался установить переменную на странице B (переменная сеанса через php), а затем проверить ее на странице A и обновить (или нет) в соответствии с ее существованием. Это, похоже, тоже работает. Основной код для этого: Страница A:

 <?php if(isset($_SESSION['reloadPage'])) { unset($_SESSION['reloadPage']); echo' <script> window.location.replace("/****/****/*****.php"); </script> '; } ?> с <?php if(isset($_SESSION['reloadPage'])) { unset($_SESSION['reloadPage']); echo' <script> window.location.replace("/****/****/*****.php"); </script> '; } ?> 

И на странице B:

  • Пробел после имени функции неправильный?
  • Высота строки JQgrid
  • HTML5 Захват изображения приостановленного видеопотока и его сохранение
  • Почему бы нам просто не использовать идентификаторы элементов в качестве идентификаторов в JavaScript?
  • JQuery :: Ajax работает индикатор выполнения?
  • Могу ли я программно применять угловые директивы валидации внутри пользовательской директивы?
  •  $_SESSION['reloadPage'] = 1; 

    С помощью PHP-решения он просто пытается обновить страницу в бесконечном цикле. Что-то в моей логике отсутствует? Правильно ли это?

    РЕДАКТИРОВАТЬ При дальнейшем расследовании, когда вы укажете браузеру, чтобы он не кэшировал страницу, это также заставляет обновлять полную серверную часть ? Это то что мне нужно. Полное обновление на стороне сервера.

  • Как я могу применить функцию jQuery ко всем элементам с одинаковым идентификатором?
  • Вставьте html в карете в contenteditable div
  • JavaScript: отображение положительных чисел со знаком плюс
  • Могу ли я запретить консоли Chrome Developer Tools регистрировать ошибки изображения 404?
  • Как получить уведомление от веб-службы к представлению ASP.NET MVC
  • Отключить диапазоны временных интервалов в плагине jQuery fullcalendar
  • 6 Solutions collect form web for “Принудительная страница для перезагрузки с сервера вместо загрузки кешированной версии”

    ОК попробуйте это вместо этого:

     <?php if(!session_id()) { @session_start(); } header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); header('Last-Modified: ' . gmdate( 'D, d MYH: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'); } ?> с <?php if(!session_id()) { @session_start(); } header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); header('Last-Modified: ' . gmdate( 'D, d MYH: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'); } ?> 

    Вам нужно будет установить $ _SESSION ['form_submitted'] = true на стр. 2.

    Попробуйте со всеми тремя:

     <meta http-equiv="cache-control" content="no-cache"> <!-- tells browser not to cache --> <meta http-equiv="expires" content="0"> <!-- says that the cache expires 'now' --> <meta http-equiv="pragma" content="no-cache"> <!-- says not to use cached stuff, if there is any --> 
     <?php session_start(); if(isset($_SESSION['reloadPage'])) { unset($_SESSION['reloadPage']); //no outputting code above header header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); header("Location: http://www.mypage.com/"); } ?> с <?php session_start(); if(isset($_SESSION['reloadPage'])) { unset($_SESSION['reloadPage']); //no outputting code above header header("Cache-Control: no-cache, must-revalidate"); header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); header("Location: http://www.mypage.com/"); } ?> 

    Я знаю, что это старый вопрос и уже есть ответ (который не освежает сервер). Поэтому я хотел бы поделиться решением с помощью jQuery.

     $('#back-button').click(function(){ setTimeout(location.reload(true), 1000); }); 

    Объяснение:
    Когда вы нажмете кнопку «Назад», setTimeout будет запускаться через 1 секунду (1000 миллисекунд). Затем страница будет перезагружаться с сервера, так как параметр внутри reload является true .

    Если вы reload в reload он перезагрузится с сервера, а если вы поместите false он перезагрузится из кеша. Источник w3schools .

    Ваш JavaScript должен быть …

     window.location = "/****/****/*****.php" 

    Я думаю, что это должно исправить ваш цикл.

     <?php session_start(); if(isset($_SESSION['reloadPage'])) { unset($_SESSION['reloadPage']); echo' <script> window.location.replace("/****/****/*****.php"); </script> '; } ?> с <?php session_start(); if(isset($_SESSION['reloadPage'])) { unset($_SESSION['reloadPage']); echo' <script> window.location.replace("/****/****/*****.php"); </script> '; } ?> 
    JavaScript делает сайт умным, красочным и простым использованием.