将JS var传递给PHP var

时间:2017-06-01 15:03:09

标签: javascript php ajax

我需要一个"全球"变量,因为我需要在不同的页面中使用它,我也想修改它:我认为我需要使用$_SESSION

当用户点击下拉列表或列表时,我需要更改此变量。

我有这个:

解决方案1 ​​

网页A:

$('#list.test li').on('click',function(){           
    choice=$(this).attr('id');
    $.ajax({
      url: "PageB.php",
      data: {word : choice},
      dataType: "html",
      success: function (data) {
      $('#content_table').html(data);                                 
      }
  });                                   
});

网页B

session_start();
$_SESSION['b']=$_GET['word'];
echo $_SESSION['b']; // It works

PageC用于验证结果

session_start();
echo $_SESSION['b']; // Error !!

在我的PageC中,我有一个错误(注意:未定义的索引:b)

是否可以使用ajax更新会话变量?

解决方案2

PageA:我想将id JS var传递给PHP var

$('#list.test li').on('click',function(){           
    choice=$(this).attr('id');
    <?php $_SESSION['b'] ?> = choice; //<--- it is possible ?
    $.ajax({
      url: "PageB.php",
      data: {word : choice},
      dataType: "html",
      success: function (data) {
      $('#content_table').html(data);                                 
      }
  });                                   
});

这个解决方案不起作用,因为AJAX和PHP是同一侧(客户端/服务器)。

谢谢

2 个答案:

答案 0 :(得分:1)

您可以通过JavaScript将数据推送到Cookie,就像<md-input-container class="md-input-has-value"> <md-autocomplete ... 一样
并在后端接收,如document.cookie = "key=value";

答案 1 :(得分:0)

$_SESSION['b']=$_GET['projet'];应为$_SESSION['b']=$_GET['word'];