我知道这个问题可能会被问过100次,但是,相信我,我已经检查了很多已经提出的问题,我找不到合适的答案。
基本上我想要做的是将我的PHP代码生成的数组传递给一个单独的JavaScript文件,该文件将对它做一些事情。我想,现在还没什么新鲜的,所以让我给你一些针对我案例的澄清。让我们说我有点领先。
我发现许多答案建议只传递我的数组的编码版本,在我的PHP文件中回显它,然后从单独的JavaScript文件中检索它。
我打算使用这种方法,但我遇到的是我不能使用getJSON()
方法,因为我在PHP文件中有我的编码数组,只输出那些东西。
所以我的最后一个问题是:如何从我的单独的JavaScript文件中检索我的PHP文件中的数组的json_encoded版本?
再次注意,我的数组内部回显(偶尔发出style="visibility:hidden"
,以便不向用户显示)。
提前致谢
修改 好的,谢谢你的答案。可能我对所有细节都不够清楚。
我的程序由3个文件组成。
1)带有表单和提交按钮的HTML文件 - >动作将数据发送到我提到的php文件。
<form name="foo" action="foo.php" method="GET">
<input type="text" name="footext"/>
<input type="submit" value="Send Data"/>
2)PHP文件从前一个表单获取数据,处理它并最终创建我必须考虑的数组
最后使用$_GET['footext']
并生成$array
的东西,当然,正如我之前提到的那样,我试图用
echo "<div style=\"display:none\">" . json_encode($array) . "</div>";
3)JS文件做了其他事情,或将做的事情,考虑到脚本中的所有内容都是基于我从我的php数组中检索的内容。
这里我准备了一些函数并使用静态数组测试它们但我需要的是显然从前一个文件中检索$array
并使用它而不是伪造的
答案 0 :(得分:1)
此问题有两种解决方案。首先是将该数组/ json编码生成代码放在另一个PHP文件中,并分别通过AJAX(getJSON)获取它。第二种是将输出的内容放在Jquery的预处理格式中,将其隐藏在随机元素中并通过jQuery选择器获取其内容。第一个更简单,更优雅,我实现它。