我正在使用cakePHP 1.26.
在控制器中,我得到了一个包含以下代码行的函数:
$this->Session->write('testing', $user);
$this->Session->read('testing');
Run Code Online (Sandbox Code Playgroud)
现在系统编写了一个会话并存储在服务器上.是否可以使用Javascript或Jquery来读取名为'testing'的会话?
当JavaScript在webclient(webbrowser)中运行时,PHP会话存储在webserver的内存中.这些是在现实世界中两个物理上独立且独立的机器.它们通常只能使用HTTP协议通过网络相互通信.
你有2个选择:
让PHP打印会话数据,好像它是一个JS变量:
<script>var data = '<?= $_SESSION['data'] ?>';</script>
Run Code Online (Sandbox Code Playgroud)让JS使用Ajax从服务器端请求它.这是一个基于jQuery的例子:
<script>$.get('script.php', function(data) { /* .. */ });</script>
Run Code Online (Sandbox Code Playgroud)
基本上这个在script.php:
<?php echo $_SESSION['data']; ?>
Run Code Online (Sandbox Code Playgroud)毋庸置疑,选项1是最简单直接的.