[英]Passing Variable from PHP to Javascript: Unexpected token?
我的总体目标是将一组数字从 php 传递到 js。 我在其他地方看到了只放在 javascript 中的解决方案,所以我一直在尝试。 但是,我不断收到错误消息“意外令牌?” 当我在 php.ini 行中添加时。 我已经检查过 $ztable 实际上是我想要的变量并且它确实存在。 以下是我尝试过的三个不同示例,它们都返回了相同的错误。 我也尝试了几种其他方法来将变量从 php 获取到 javascript,但似乎没有一种方法适合我。 如果我写的代码有问题,请告诉我,或者如果有另一种简单的方法来传输变量,我很想听听。 在我的应用程序中,变量只被传递一次,所以速度不是问题,安全性也不是问题(出于不同的原因)。
<script>
ztable = new array(<?php echo json_encode($ztable); ?>);
....other unrelated code.....
</script>
<script>
var ztable = <?php echo json_encode($ztable); ?>;
....other unrelated code.....
</script>
<script>
var ztable = <?php echo $ztable; ?>;
....other unrelated code.....
</script>
编辑:我没有使用 jQuery,我的 php 代码非常简单,它只是根据用户输入的行生成一个数字数组
$ztable = [0.001, 0.003, 0.006, 0.01, 0.02, 0.04, 0.07, 0.11, 0.16, 0.23, 0.31, 0.4, 0.5, 0.4, 0.31, 0.01, 0.02, 0.04, 0.07, 0.11, 0.16, 0.23, 0.31, 0.4, 0.5, 0.4, 0.31, .0.01, 0.1, 0.1, 0.1, 0.1, 0.1, 0.0.1 0.003, 0.001];
我认为您正在寻找类似的东西:
<script type="application/javascript">
var ztable = JSON.parse(<?php echo json_encode(isset($ztable) ? $ztable : array()); ?>);
//.... more stuff
</script>
您的示例似乎没有从 javascript 中的字符串转换 json。
如果未定义$ztable
这也会提供一个默认的空数组,这将正常失败。
第二个例子工作得很好。 这有效,我认为这就是您可能想要做的。
<script>
var ztable = <?php echo json_encode($ztable); ?>;
....other unrelated code.....
</script>
这里的潜在问题可能是函数json_encode
未定义。 我建议先检查一下。
这里要做的另一件事是检查 PHP 的输出,如果仍然不起作用,请在您的问题中显示它。
第三个例子看起来坏了
<script>
var ztable = <?php echo $ztable; ?>;
....other unrelated code.....
</script>
$ztable
是一个数组。 你希望如何回应它? 这会带来警告,结果看起来像
<script>
var ztable = PHP Notice: Array to string conversion in /home/victor/Projects/emailmarketing/rank/code.php on line 14
Array;
</script>
即使未显示警告,结果看起来也不是有效的 JS 代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.