将 PHP 变量传递给 Javascript 的最佳方法是什么? [复制]

2023-12-05

目前,我会回显隐藏输入字段中的某些变量,并在需要时使用 Javascript 将其读出。

我和一位同事现在正在考虑使用 PHP 生成一个额外的 Javascript 文件,其中仅包含 Javascript 的所有变量。这样变量就已经存在并且 HTML 中没有额外的代码。

将变量从 PHP 传递到 Javascript 有哪些好方法?我们的解决方案听起来怎么样?


一般数据传递

JavaScript 常用的交换格式是JSON, using json_encode。像这样的 PHP 文件:

<?php
    $data = array("test" => "var", "intvalue" => 1);
    echo json_encode($data);
?>

然后返回一个 JavaScript 对象文字,如下所示:

{
    "test" : "var",
    "intvalue" : 1
}

您可以直接将其回显到页面上的 JavaScript 变量中,例如:

var data = <?php echo json_encode($data)?>;

...或通过 Ajax 请求(例如使用jQuery 获取 JSON).

输出到标签上的属性

如果您只需要将字符串输出到标签上的属性,请使用htmlspecialchars。假设一个变量:

<?php
$nifty = "I'm the nifty attribute value with both \"double\" and 'single' quotes in it.";
?>

...你可以这样输出:

<div data-nifty-attr="<?php echo htmlspecialchars($nifty)?>">...</div>

...或者如果您使用短标签:

<div data-nifty-attr="<?= htmlspecialchars($nifty)?>">...</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 PHP 变量传递给 Javascript 的最佳方法是什么? [复制] 的相关文章

随机推荐