【发布时间】: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 = '<?='String Test'>' -
即使我放了一个变量,我仍然遇到同样的错误。
-
只是为了好玩,请尝试在两个位置都将其称为
window.jArray。
标签: javascript php arrays post