将变量从 php 传递到 javascript

IT技术 php javascript
2021-03-10 09:45:21

我正在尝试创建一个站点,有人可以在其中创建一个“项目”,并且数据库将存储一个 id,php 会为该 id 生成一个 url。所以下次当这个人带着那个 url 回来时,它会记住这个人的设置(变量)。现在的问题是,在我的站点中,javascript 需要知道这些变量。

那么对此的最佳解决方案是什么?在超全局“GET”或cookies中传递变量?或者有没有更好的方法将这些变量传递给 javascript?

2个回答

只需使用 php 打印一些动态 javascript

<script>
var myVar = "<?php echo json_encode($_COOKIE['somevalue']);?>";
</script>
您也可以直接从 JS 访问 cookie。
2021-05-08 09:45:21
除非你非常确定some value你最好的 JSON 转义/编码是什么类型的值
2021-05-14 09:45:21
我认为使用<?php echo json_encode($_COOKIE['somevalue']); ?>"<?php echo $_COOKIE['somevalue']; ?>".
2021-05-15 09:45:21
@Furicane 不是在使用 HttpOnly cookie 时。
2021-05-17 09:45:21
我绝对同意 json_encode。我会更新答案。谢谢。
2021-05-18 09:45:21

有多种方法可以向客户端提供数据,例如:

  1. 在你的 javascript 中回显变量, var userid = <?php echo $userid; ?>
  2. JSON'fy 您的变量并通过 AJAX/jQuery 将它们提供给您的 javascript: $.getJSON(url, function(data){ var userid = data.userid; });

我通常在尝试将服务器端数据呈现给客户端时尽可能多地使用 JSON,因为它有助于分离不同的层。