【问题标题】:Array from php to javascript file从 php 到 javascript 文件的数组
【发布时间】:2017-06-08 20:26:19
【问题描述】:

我有一个 php 文件,我在数组上收集数据,我需要将此数据发送到外部 javascript 文件。 我已经读到我需要将数据编码为 JSON 格式并回显存储的变量,然后我尝试在 javascript 文件上使用此变量,但出现错误“找不到变量:jArray” 我做错了什么?

文件.php

<?php $playerNames_new = array();
for ($i=0; $i<$_POST["playerNo"]; $i++) {
    $j = $i+1;
    echo "<form name=\"input\" action=\"#\" method=\"POST\">Player Name $j: <input type=\"text\" name=\"playerName[]\" value=\"\"><br/>";
        $playerNames_new[$i] = $_REQUEST['playerName'];
}


?> 
<script type="text/javascript">var jArray = <?php echo json_encode($playerNames_new); ?>;</script>
<script type="text/javascript" src="script.js"></script>

script.js

$(document).ready(function() {
// global variables
var playerNames = jArray;});

【问题讨论】:

  • 看起来应该可以工作。当您查看var jArray = 所在的源时,您会看到什么?
  • json_encode 将创建一个 json 对象,如果我没记错的话。我会先尝试一种更简单的方法,然后尝试将一个字符串从 php 放入 javascript,然后看看 scripts.js 是否会读取它。你还需要包装你的 jArray,所以它是var jArray = '&lt;?='String Test'&gt;'
  • 即使我放了一个变量,我仍然遇到同样的错误。
  • 只是为了好玩,请尝试在两个位置都将其称为window.jArray

标签: javascript php arrays post


【解决方案1】:

以下对我有用。

<script> var php = <?php echo json_encode([1, 2 ,3]); ?>;</script>
<script src="s.js"></script>

<script> var php = <?php echo json_encode([1, 2 ,3]); ?>;</script>
<script> console.log(php); </script>

【讨论】:

  • @ToroLoco 太好了,如果您不介意用您解决的问题更新您的问题,通常可以帮助其他可能处于同一绑定中的人。
  • 其实我的写法是正确的。但是我没有提到从我想将数据传递给 js 文件的 php 页面中还有另一个 php 页面是中间的。所以我必须先将数据传递给另一个 php 页面,然后再传递给 JavaScript。
猜你喜欢
  • 2013-12-18
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 2020-09-09
  • 1970-01-01
  • 1970-01-01
  • 2016-09-04
  • 1970-01-01
相关资源
最近更新 更多