方法一:使用内嵌 PHP 脚本标记
1、简单的拼接
使用内嵌的 PHP 脚本标记 <?php ?>
将 PHP 变量 $phpVariable
的值嵌入到 JavaScript 代码中。
<?php
$phpVariable = "Hello, World!";
?><script>
// 将 PHP 变量的值传递给 JavaScript 变量
var jsVariable = '<?php echo $phpVariable; ?>';// 在 JavaScript 中使用 jsVariable
console.log(jsVariable); // 输出:Hello, World!
</script>
补充:php变量为数组时的处理
<?php
$phpVariable = ['这是数组第一项', '这是数组第二项'];
?><script>// 将 PHP 变量的值传递给 JavaScript 变量var jsVariable = '<?php echo $phpVariable[0]; ?>';// 在 JavaScript 中使用 jsVariablealert(jsVariable); // 输出:这是数组第一项
</script>
上面的方法可以将单独的项做出输出,但是如果进行更换就无法正确输出,如下
<?php
$phpVariable = ['这是数组第一项', '这是数组第二项'];
?><script>// 将 PHP 变量的值传递给 JavaScript 变量var jsVariable = '<?php echo $phpVariable; ?>';// 在 JavaScript 中使用 jsVariablealert(jsVariable[0]); // 输出:A
</script>
输出的结果就是Array的第一个值了
解决办法
通过
json_encode()将 PHP 数组或对象转换为 JSON 字符串的表示形式通过JSON.parse()将符合 JSON 格式的字符串转换为 JavaScript 对象或数组。
<?php
$phpVariable = ['这是数组第一项', '这是数组第二项'];
?><script>// 将 PHP 变量的值传递给 JavaScript 变量var jsVariable = JSON.parse('<?php echo json_encode($phpVariable); ?>');// 在 JavaScript 中使用 jsVariablealert(jsVariable[0]); // 输出:这是数组第一项
</script>
2、给定一个隐藏文本框存值
一个<?php?>中通过文本框存入变量
<?php
if (isset($_SESSION['UserID'])) {$sql = "select depart_codefrom www_userswhere userid = '" . $_SESSION['UserID'] . "'";$result = DB_query($sql, $db);if ($row = DB_fetch_array($result)) {$departCode = $row['depart_code'];echo "<input type='hidden' id='departCode' value='" . $departCode . "'>";// echo "<script>alert('" . $departCode . "')</script>";} else {prnMsg(_('找不到相应数据!'), 'error');}
}
?>
在js中获取php的变量
var departCode = document.getElementById('departCode').value;
alert(departCode);
方法二:使用 AJAX 请求
如果你需要从后端动态获取 PHP 变量的值,可以使用 AJAX 请求。
1、页面A
使用 jQuery 的 $.ajax()
方法向后端 PHP 文件发起 GET 请求,并根据返回的数据设置 JavaScript 变量 jsVariable
。
<!-- 引入 jQuery 库 -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script><script>
$(document).ready(function() {$.ajax({url: 'get_php_variable.php', // 后端 PHP 文件的路径method: 'GET',success: function(response) {var jsVariable = response; // 根据后端返回的数据设置 JavaScript 变量console.log(jsVariable); // 输出从 PHP 获取的变量值},error: function() {console.log('请求失败');}});
});
</script>
2、页面B
在后端 PHP 文件 get_php_variable.php
中,你可以根据需要获取 PHP 变量的值并将其返回给 AJAX 请求。例如:
<?php
$phpVariable = "Hello, World!";
$response = array('phpVariable' => $phpVariable); // 构造响应数据数组
echo $phpVariable;
?>