我想在 JavaScript 中使用 PHP 变量。这怎么可能?
从 PHP 获取变量到 JavaScript
IT技术
php
javascript
2021-01-23 16:41:21
6个回答
您可以在创建页面时将 PHP 变量打印到您的 javascript 中。
<script type="text/javascript">
var MyJSStringVar = "<?php Print($MyPHPStringVar); ?>";
var MyJSNumVar = <?php Print($MyPHPNumVar); ?>;
</script>
当然,这是针对简单变量而不是对象。
您可以通过使用 PHP 生成 PHP 变量来将 PHP 变量传递给您的 JavaScript:
<?php
$someVar = 1;
?>
<script type="text/javascript">
var javaScriptVar = "<?php echo $someVar; ?>";
</script>
这取决于您想在 Javascript 中使用什么类型的 PHP 变量。例如,带有类方法的整个 PHP 对象不能在 Javascript 中使用。但是,您可以使用内置的 PHP JSON(JavaScript Object Notation)函数将简单的 PHP 变量转换为 JSON 表示。欲了解更多信息,请阅读以下链接:
您可以生成 PHP 变量的 JSON 表示,然后在页面加载时将其打印到您的 Javascript 代码中。例如:
<script type="text/javascript">
var foo = <?php echo json_encode($bar); ?>;
</script>
我认为最简单的方法是在您的网页中包含jQuery javascript 库,然后使用JSON作为格式在两者之间传递数据。
在您的 HTML 页面中,您可以像这样从 PHP 脚本请求数据:
$.getJSON('http://foo/bar.php', {'num1': 12, 'num2': 27}, function(e) {
alert('Result from PHP: ' + e.result);
});
在 bar.php 你可以这样做:
$num1 = $_GET['num1'];
$num2 = $_GET['num2'];
echo json_encode(array("result" => $num1 * $num2));
这就是通常所说的 AJAX,它有助于为网页提供更动态和更像桌面的感觉(您不必刷新整个页面即可与 PHP 通信)。
其他技术更简单。正如其他人所建议的,您可以简单地从 PHP 脚本生成变量数据:
$foo = 123;
echo "<script type=\"text/javascript\">\n";
echo "var foo = ${foo};\n";
echo "alert('value is:' + foo);\n";
echo "</script>\n";
现在大多数网页都使用两者的组合。
<?php
$j=1;
?>
<script>
var i = "<?php echo $j; ?>";
//Do something
</script>
<?php
echo $j;
?>
这是在没有 Ajax 的情况下将 php 变量传递给 javascript 的最简单方法。
你也可以使用这样的东西:
var i = "<?php echo json_encode($j); ?>";
据说这更安全或更安全。我认为