如何从JS中访问另一个文件中的PHP数组
How to access a PHP array from JS "in another file"?
我已经看到了这个答案(以及其他几个),它提供了一种可以理解的访问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文件变成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']); ?>);
相关文章:
- 如何在php文件中获取$.post-ajax传递的值
- Javascript运行php文件,然后下载文件
- 通过Ajax将JavaScript函数传递给PHP文件
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 通过ajax到php文件获取单选按钮值
- 每天用javascript包含不同的php文件
- 如何使用javascript调用Php文件
- 如何使用php文件中的GET来获取我在.js文件中声明的变量
- 在CodeIgniter视图中将Javascript或jQuery代码作为PHP文件编写可以吗
- CORS:否'访问控制允许来源'header-但是php设置头文件
- 用PHP发送html表单和文件附件
- 动态地包含来自外部文件PHP的JavaScript
- 向文件 php 表单提交添加多个输入
- 将web服务响应转换为PDF文件- PHP, Javascript
- 基于XML文件(PHP, Jquery)的页面生成
- 如何使用jQuery.ajax发送请求到文件php
- 显示数据下拉列表从另一个文件(php,mysql,javascript)
- 两个电子邮件在同一个文件php
- 从mysql中存储和检索用户js文件.php
- 组织3个文件:PHP、HTML、JS和Smarty