将变量从 PHP 传递到 JavaScript

Subodh Poudel 2023年1月30日
PHP
  1. 使用 AJAX 将 PHP 变量传递给 JavaScript
  2. 使用 JavaScript 转义 PHP 脚本以将 PHP 变量传递给 JavaScript
  3. 在 JavaScript 中使用简短的 PHP Echo 标记 <?=?> 将 PHP 变量传递给 JavaScript
将变量从 PHP 传递到 JavaScript

我们将介绍一种使用 AJAX 将 PHP 变量传递给 JavaScript 的方法。此方法从 PHP 服务器请求数据并在客户端计算机上运行。

我们还将演示另一种通过将 PHP 转义为 JavaScript 来在 JavaScript 中传递 PHP 变量的方法。我们在 PHP 脚本之后编写 JavaScript 来转义 PHP。

我们将向你展示另一个示例,使用 JavaScript 中的短回显标记作为 <?=$var?> 将 PHP 变量传递给 JavaScript,其中 $var 是 PHP 变量。

使用 AJAX 将 PHP 变量传递给 JavaScript

我们可以使用 AJAX 将数据和变量从 PHP 服务器获取到 JavaScript。此方法具有单独的服务器端和客户端脚本。它使代码更清晰,并增强了代码的可读性。AJAX 代表异步 JavaScript 和 XML。它使用 XMLHttpRequest 对象从服务器请求数据。它使用 JavaScript 和 HTML DOM 显示数据。此过程是异步发生的,这意味着更改发生在网页中,而无需重新加载页面。但是,在网络上使用 AJAX 时存在延迟,因为它会发送 HTTP 请求。在这个方法中,我们在 PHP 文件中编写 JavaScript 代码。

例如,创建一个名为 index.php 的 PHP 文件。在 <script> 标签内编写 JavaScript 代码。使用 var 关键字创建一个可变的 req。创建 XMLHttpRequest() 函数的请求对象并将其分配给 req 变量。使用函数表达式调用带有 req 对象的 onload() 函数。在函数内部,使用 console.log() 函数记录 this.responseText 属性。不要忘记以分号结束函数表达式。使用 req 对象调用 open() 函数。同时提供 getget-data.phptrue 作为函数中的参数。使用 req 对象调用 send() 函数。创建另一个名为 get-data.php 的 PHP 文件。将 Mountain 的值分配给 $var 变量。以 $var 作为参数回显 json_encode() 函数。

在下面的示例中,我们使用 XMLHttpRequest() 函数创建了一个请求对象。onload() 函数处理响应期间要执行的操作。open() 函数指定 HTTP 方法、发送 JSON 响应的 PHP 文件以及控制脚本其余部分执行的布尔值。get-data.php 文件中的 json_encode() 函数以 JSON 格式发送响应。在这里,我们在控制台中打印了变量 $var

示例代码:

# php 7.*
<?php
?>
<script>
var req = new XMLHttpRequest(); 
    req.onload = function() {
    console.log(this.responseText); 
 };
req.open("get", "get-data.php", true); 
req.send();
</script>
# php 7.*
<?php
$var = "Mountain";
echo json_encode($var); 
?>

输出:

"Mountain"

使用 JavaScript 转义 PHP 脚本以将 PHP 变量传递给 JavaScript

我们可以在 PHP 标签之后使用 JavaScript 来转义 PHP 脚本。我们可以在 PHP 脚本中创建一个 PHP 变量。然后,我们可以编写 JavaScript 来转义上面编写的 PHP 并将变量传递到 JavaScript 代码中。在 JavaScript 中,我们可以使用 PHP 标记来回显 PHP 变量并将其分配给 JavaScript 变量。

例如,将值 Metallica 分配给 PHP 标签内的变量 $var。编写一个 script 标签,并在其中编写一个 PHP 标签。在 PHP 标记内,回显 JavaScript 变量 jsvar。将 PHP 变量 $var 分配给 jsvar。不要忘记用引号括起来的 $var 和后面的分号。关闭 PHP 标记并使用 console.log() 函数记录 jsvar 的值。关闭 script 标签。在下面的示例中,我们使用 JavaScript 在控制台中记录了 PHP 变量 $var。我们可以在网页的控制台中看到输出。

示例代码:

#php 7.x
<?php
$var = 'Metallica';
?>
<script>
   <?php
       echo "var jsvar ='$var';";
   ?>
   console.log(jsvar); 
</script>

输出:

Metallica

在 JavaScript 中使用简短的 PHP Echo 标记 <?=?> 将 PHP 变量传递给 JavaScript

我们可以在 JavaScript 中使用简短的 PHP echo 标记将 PHP 变量传递给 JavaScript。我们可以使用简短的 PHP echo 标记来摆脱编写 PHP 标记和 echo 语句的麻烦。这是一种速记方法。这种方法在概念和执行上与第二种方法非常相似。

例如,将值 Megadeth 分配给 PHP 标签内的变量 $var。打开 script 标签并创建一个 JavaScript 变量 jsvar。写回声标签 <?=$var?> 作为 jsvar 变量的值。使用 console.log() 函数记录变量。我们可以在网页的控制台中查看脚本的输出。

代码示例:

#php 7.x
<?php
$var = 'Megadeth';
?>
<script>
    var jsvar = '<?=$var?>';
    console.log(jsvar); 
</script>
?>

输出:

Megadeth
作者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn