繁体   English   中英

将变量从 PHP 传递到 Javascript:意外的令牌?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM