我有seen this answer(以及其他几个),它提供了一种可理解的访问PHP数组的方法。但在该示例中,PHP和JavaScript位于同一文件中。
但是,由于某些原因,我无法在我的PHP文件中编写Javascript,而我正在做的是调用另一个文件中的JS。所以我需要从JS文件中的PHP访问一个数组。我怎么能这样做?
如果没有AJAX(,如果可能的话),我更喜欢它,因为我还没有开始学习AJAX。
答案 0 :(得分:1)
您可以使用JSONP方法:
让您的PHP文件输出包含在函数调用中的数据 - 如下所示:
callback(
['your', 'data', 'here']
);
要使用PHP变量执行此操作,您可以执行此操作:
callback(<?php echo json_encode($data) ?>);
然后在您的JavaScript文件中执行以下操作:
function callback(data) {
alert( data.join(' ') ); // will alert 'your data here'
}
在你的HTML文件中只包含上面的JS文件,然后包含另一个指向你的php文件的脚本标记:
<script src="/path/to/local.js"></script>
<script src="http://yourserver.com/path/to/server.php"></script>
浏览器将获取第一个文件,并评估函数声明。然后它将获取第二个文件,并看到它是一个函数调用并立即以数据作为参数执行您的函数。
答案 1 :(得分:1)
快速而肮脏的解决方案是将您的JavaScript文件设置为PHP文件,并在包含脚本时传递所需的所有变量:
<script type="text/javascript" language="javascript" src="./script.php?var=<?php print(json_encode($var)); ?>"></script>
在JavaScript文件中,您可以像这样使用PHP变量:
var a=JSON.parse(<?php print($_REQUEST['var']); ?>);