Gre*_*ijn 13 javascript php variables
我目前在隐藏的输入字段中回显某些变量,并在需要时用Javascript读出它们.
我和一位同事正在考虑用PHP生成一个额外的Javascript文件,该文件只包含Javascript的所有变量.这种方式变量已经存在,HTML中没有额外的代码.
将变量从PHP传递到Javascript有什么好方法?我们的解决方案如何发声?
Daf*_*aff 25
常用的JavaScript交换格式是JSON,使用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的getJSON).
如果您只需要将字符串输出到标签上的属性,请使用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>
<?php
  $my_php_var = array(..... big, complex structure.....);
?>
<script type="text/javascript">
  my_js_var = <?=json_encode ($my_php_var)?>;
</script>