将PHP会话变量发送到另一个文件的javascript

时间:2018-06-22 08:55:51

标签: javascript php html session

我使用PHP从CSV文件中提取了数据,并将数据存储为嵌套数组。 我将此数组存储为会话变量,现在我想使用JavaScript在另一个html文件中访问该数组。该怎么办?

<?php
    session_start();
    $arr=array();

    $arr['1']=array('abc','def');
    $arr['2']=array('123','456');

    $_SESSION["abc"]=$arr;

?>

这是一个示例php。我必须使用javascript访问会话变量。

2 个答案:

答案 0 :(得分:2)

是的,您可以使用内爆PHP函数将数组转换为字符串,然后echo将该字符串转换为JS变量,如下例所示。

您的另一个HTML文件:

<?php 
    session_start();
    $your_array=$_SESSION['your_array'];
?>
<script>
    var js_variable = [<?php echo implode($your_array,','); ?>];
    console.log(js_variable);
</script>

答案 1 :(得分:0)

您应该注意的是,php是服务器端,而javascript是客户端。因此,要解决此问题,您有2个选择:

  1. 让php代码在头部添加此变量。在所有事物上:

    <script>
      var php_variables= <?php echo json_encode($your_php_variables); ?>;
    </script>
    

或2.制作一个单独的php文件,该文件仅回显json中的值并放入json标头:

 <?php 
  header("content-type:application/json");
  echo json_encode($your_php_variables);
 ?>

,然后让javascript检索它。有很多可用的库。但是让我们使用像jquery这样的普通符号:

$.get("yourphpfile.php",function(data){do something here})