javascript - 如何从 JS "in another file"访问 PHP 数组?

标签 javascript php arrays ajax

我有seen this answer (以及其他几个)它提供了一种访问 PHP 数组的易于理解的方式。但在示例中,PHP 和 JavaScript 在同一个文件中。

但是,由于某些原因,我不能在我的 PHP 文件中编写 Javascript,我宁愿做的是调用另一个文件中存在的 JS。所以我需要从 JS 文件中的 PHP 访问一个数组。我该怎么做?

我更喜欢没有 AJAX 的情况(如果可能),因为我还没有开始学习 AJAX。

最佳答案

您可以使用 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>

浏览器将抓取第一个文件,并评估函数声明。然后它会抓取第二个文件,看到它是一个函数调用并立即以数据作为参数执行你的函数。

关于javascript - 如何从 JS "in another file"访问 PHP 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25223956/

相关文章:

javascript - 获取值输入表单

php - 可移动类型的带有php的静态页面

javascript - JS 检查 Jquery inArray

javascript - 通过按键输入搜索元素的下拉菜单

javascript - 如何显示图中每个点的 Y 轴刻度

php - 将动态数据从 div 传递到同一页面上的另一个 div

php - PDO异常 : SQLSTATE[28000] [1045] Access denied for user

php - 使用二进制搜索 PHP 查找数组中最后一次出现的元素的索引

c - 为什么程序在递归地从数组添加到队列时崩溃?

javascript - 无法为按钮添加属性