-1

我无法访问在 php 中创建的数组以在 javascript 块中使用。我知道

<?php echo json_encode($myArray); ?>

但我没有得到任何结果。

我有一个“index.html”文件,我尝试通过 javascript 访问数组。html 页面存在于下拉菜单中。当用户在该下拉菜单中选择一个项目时,所选项目将用作从数据库中检索数据的参数。

“ajax.js”文件包含执行“retrieve.php”文件的代码,该文件从数据库内容构造数组(“$myArray”)。所以数组是通过 ajax 调用来检索的。

我可以从我的 php 文件中“回显”到 javascript 代码吗:

echo 'dataArray = ' . json_encode($data_array) . ';';

并使用那个javascript变量?换句话说,如何使用新的“dataArray”变量执行我的 javascript 代码?

为了获得更大的图景:我正在尝试将该数组用于“Google Chart”,为此我需要使用 javascript 来显示图表。我可以查询所有数据并将其放入 php 数组中,但我无法使用 javascript 将其正确传输到我的 html 页面并重新加载图表。

编辑:我使用 ajax 调用 no 来重新加载整个页面。

4

3 回答 3

2

而不是" echo 'dataArray = ' . json_encode($data_array) . ';'; ",你应该只写这个 - 然后在客户端使用你从服务器收到的响应(json)的响应"echo json_encode($data_array)"
来解释它JSON.parse(response)

于 2012-04-16T13:54:23.340 回答
1

我发现最好的方法是这样的:

客户端代码:

<script>
    var phpdata = <?=json_encode($jsData)?>;
</script>

服务器代码:

$jsData = '';
$jsData->first = $first;
$jsData->second = $second_array;

客户端使用:

alert(phpdata.second[1]);

编辑:

要使用 AJAX 从 php 获取数组,请使用 jQuery http://api.jquery.com/jQuery.getJSON/

客户端:

var stored_array;
$.getJSON(url, function(data){
    stored_array = data;
    // run any other code you wish to run after getting the array.
});

服务器端:

print(json_encode($array));

这将获得一个 json 编码的变量并将其存储以供您使用。

于 2012-04-16T13:42:06.853 回答
0

是的,您可以通过分配上述 json_encode 函数来使用这个 php 数组

如果数组是关联数组或 php 中使用的对象,则可以将其用作关联数组,如果是非关联数组,则可以将其用作普通数组。

于 2012-04-16T13:42:04.980 回答