如何从单独的javascript文件中引用PHP变量
How do I reference a PHP variable from a separate javascript file?
假设我有someJavascript.js
文件和somePHP.php
文件。在我的php文件中,我有一些$foo
。如果var something = $foo
在其他文件中,如何设置它?
我尝试过的东西:
var something = '<?php echo $foo ?>';
-这正好给了我一串这个短语var something = '<?php echo json_encode($foo); ?>';
同样的东西,只是一个字符串
如有任何帮助,我们将不胜感激!谢谢
您的问题是您的Web服务器没有像处理.php文件那样处理.js文件。所有.js文件都按原样发送到浏览器。
一个简单的选择是在somePHP.php上包含一个隐藏元素,然后在someJavascript.js:中引用它
在somePHP.php中:
<html>
<body>
<input type="hidden" id="foo" value="<?php echo $foo; ?>">
</body>
</html>
在一些Javascript.js中:
var foo = document.getElementById('foo').value();
正确的方法是使用eval:var something=eval(''(请记住,json应该小心使用,有很多json库可以以更安全的方式将json数据解析为JavaScript对象!
包含整个文件有点庞大,但它完成了任务,是吗您的文件必须是.php
文件才能使用php变量(或者您的服务器必须配置为使用php引擎处理.js
文件(
<?php include('somePHPfile.php') ?>
<script type="text/javascript" language="javascript">
var foo = "<?php echo $foo; ?>";
</script>
我认为你有三个选项:
- 杰森的回答
- 设置web服务器以解析.js文件,如php文件。在Apache中,您可以将
AddType application/x-httpd-php .js
添加到apache2.conf或httpd.conf文件中。IIS中也有类似的想法。只有当您可以访问配置文件时,这个想法才有效,所以在共享服务器上不起作用 - 将javascript放入php解析器处理的某个文件中。在扩展名为.php的文件中,您总是可以编写一个
var a = '<?php echo $someVar; ?>';
。然后在原始文件中写入<script src='/path/to/your/phpScript.php'></script>
。本质上是哈维林的回答
相关文章:
- 在Javascript甜甜圈图的PHP变量中引用PHP变量
- 如何从PHP文件输出javascript文件,该文件可以从脚本包含标记中引用
- Javascript没有输入带有.php文件引用的函数
- 如何使用array_merge在PHP/Higharts中显示未引用的命令
- 如何将用户会话保存在PHP中的一个变量中,以便在JavaScript中引用
- 引用包含的php页面中的对象,以及如何隐藏它
- Javascript和php引用阻止函数的执行
- PHP 驱动的 API 如何跨域验证真正的客户端(引用)(知道标头可能是欺骗的)
- 将 JavaScript 变量传递给 PHP 函数并正确引用它
- PHP 引用不在脚本中的函数
- JavaScript 中引用的 PHP 代码中的 JavaScript 变量
- iFrame PHP 页面检查调用的源(引用)
- 为什么这个 js-php 生成的位置引用在 IE8 中不起作用
- 包含/引用 a 的语法..JS文件中的 PHP 文件
- 将PHP变量转换为javascript变量时出现未定义的引用错误
- 通过引用传递问题对JQuery中重用PHP代码进行置换
- 从extJavaScript文件引用PHP
- 如何从单独的javascript文件中引用PHP变量
- 引用php中id元素的Javascript
- 如何在收到jquery的帖子后引用php页面