Javascript 可以在纯JS中访问会话变量(在PHP中设置)吗?

Javascript 可以在纯JS中访问会话变量(在PHP中设置)吗?,javascript,php,Javascript,Php,我找到了许多与ASP.NET MVC和PHP相关的答案(例如) 但是,我想了解(通过Chrome DevTools的控制台或.HTML页面)是否可以通过以下方式访问PHP中设置的变量: $_SESSION['varXY'] = 'abc'; 无法直接访问.html或.js文件中的PHP会话变量。但是,您可以在html中打印/回显PHP变量 如果您希望将这些变量作为JS变量,那么可以这样做,但这样做不是一个好的做法 在JS中访问PHP变量的更好方法是通过AJAX和PHP文件。 一个例子如下: /

我找到了许多与ASP.NET MVC和PHP相关的答案(例如)

但是,我想了解(通过Chrome DevTools的控制台或.HTML页面)是否可以通过以下方式访问PHP中设置的变量:

$_SESSION['varXY'] = 'abc';

无法直接访问.html或.js文件中的PHP会话变量。但是,您可以在html中打印/回显PHP变量

如果您希望将这些变量作为JS变量,那么可以这样做,但这样做不是一个好的做法

在JS中访问PHP变量的更好方法是通过AJAX和PHP文件。 一个例子如下:

// sessionInfo.php
$sessions = array("var1" => $_SESSION['varXY'], "var2" => $_SESSION['abc']);
echo json_encode($sessions);
在JS文件中-

$.ajax({url : sessionInfo.php, method: "get", dataType:"json" success: function(response){//Your session variable values here ...}});

您可以向PHP文件发出AJAX请求以获取会话信息。您不能直接公开会话。您可以将会话信息打印为全局javascript变量(bad),您可以将会话变量转换为Cookie(bad),您可以使用AJAX请求访问服务器并获得会话(这对您来说应该可以)。然而,若我不能访问服务器上传php,我该怎么做呢?(我实际上可以,但我找不到会话变量的实际定义位置)$\u会话是全局环境变量。如果知道会话变量的键,可以从任何php文件访问它。不需要包含任何内容。如果您不知道会话密钥,那么您可以转储所有会话变量,如-var\u dump($\u session);