Переменная сеанса не обновляется - PullRequest
0 голосов
/ 08 сентября 2018

У меня есть две страницы PHP

page1.php

    <?php
    session_start();
     ?
  <script>
  function request(){
  $.ajax({
  cache: false,
  type: "POST",
  url: 'page2.php',
  success: function(data) {
     alert(<?php echo $_SESSION['value'];?>);
  },    
    complete: function() {
   setTimeout(function(){request();}, 2000); 
   }
   });
   };
   </script>

page2.php

    <?php
    session_start();
    $_SESSION['value'] = //Assign a random value.//
    echo $_SESSION['value'];
     ?>

Проблема в том, что каждый раз, когда Ajax вызывается, page2.php отображает текущее значение "$ _SESSION ['value']". Но в page1.php предупреждение показывает старое значение "$ _SESSION ['value']", если я не обновляю страницу, после чего она показывает текущее значение, пока Ajax не будет вызван снова, и значение будет обновлено. Я понятия не имею, почему это происходит.

1 Ответ

0 голосов
/ 08 сентября 2018

Подумайте секунду: когда исполняется ваш <? ?>? Когда ваш HTML-код с вашим сценарием отображается на стороне сервера . Это означает, что это константа, если вы не обновите свою страницу - когда вы получите другую константу. Вы должны отобразить значение в ответе page2 на стороне сервера - и повторить data, который вы получили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...