gpt4 book ai didi

php - 将 PHP 变量传递给非 native JavaScript

转载 作者:行者123 更新时间:2023-11-30 06:46:12 25 4
gpt4 key购买 nike

基本上,问题是这样的:

<?php $test="foobar"; ?>

如果在我调用的 html 文档中

<script type="text/javascript">alert("<?php echo $test; ?>")</script>

,一切都很好。

但是,如果我在包含在

中的外部 jS 文档中做同样的事情
<script type="text/javascript" src="foo.js"></script> 

它不起作用。

有什么办法吗?

最佳答案

在第一种情况下,您实际上将值传递给 PHP 脚本,其中 <?php echo $test; ?>由 PHP 解析器解析并替换为 $test 的值PHP 变量。

在第二种情况下,您只需包含 ' <?php echo $test; ?> ' 字符串到 JS 文件中,这不被解析。

我的建议是:按照您现在传递的方式传递此值,但从外部 JS 文件中正确引用它。例如,您可以调用 JS 文件中定义的一些函数,从 PHP 文件传递​​参数。

还有一种丑陋的做法,比如让你的服务器将 JS 文件视为 PHP 文件,但我不推荐这样做。

一些例子:

如果您在 PHP 文件中包含:

<script type="text/javascript" src="foo.js"></script>
<script type="text/javascript">myHappyFunction("<?php echo $test; ?>")</script>

并在您的 JS 文件 (foo.js) 中:

(function(){
var myHappyFunction = function(myParameter){
alert(myParameter);
};
window['myHappyFunction'] = myHappyFunction; // pass outside scope
})();

你应该看到 $test值在脚本执行时被提醒(假设我没有写错 ;))。

关于php - 将 PHP 变量传递给非 native JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6543023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com