从外部javascript文件访问PHP var

FFi*_*ish 52 javascript php variables external

我可以使用Javascript访问PHP var,如下所示:

<?php
    $fruit = "apple";
    $color = "red";
?>

<script type="text/javascript">
    alert("fruit: " + "<?php echo $fruit; ?>"); // or shortcut "<?= $fruit ?>"
</script>
Run Code Online (Sandbox Code Playgroud)

但是如果我想使用外部JS文件怎么办:

<script type="text/javascript" src="externaljs.js"></script>
Run Code Online (Sandbox Code Playgroud)

externaljs.js:

alert("color: " + "<?php echo $color; ?>");
Run Code Online (Sandbox Code Playgroud)

Don*_*Don 93

您没有真正访问它,在您提供页面时将其插入到javascript代码中.

但是,如果您的其他JavaScript不是来自外部源,您可以执行以下操作:

<?php
    $color = "Red";
?>
<script type="text/javascript">var color = "<?= $color ?>";</script>
<script type="text/javascript" src="file.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后在file.js中使用颜色如下:

alert("color: " + color);
Run Code Online (Sandbox Code Playgroud)

  • -1这是非常糟糕的编码习惯 (8认同)
  • 这正是我刚刚想到的.以及我追求的是什么.唐的+1 (2认同)
  • 如果不是因为它在较低的脚本标签中创建了一个全局变量,我会对这个解决方案感到满意. (2认同)

Ata*_*hev 12

您也可以在Javascript(我将在这里使用jQuery)中从PHP脚本访问数据

像这样在你的php文件中创建输入隐藏字段

<input type="hidden" id="myPhpValue" value="<?php echo $myPhpValue ?>" />
Run Code Online (Sandbox Code Playgroud)

在您的javascript文件中:

var myPhpValue = $("#myPhpValue").val();
//From here you can the whaterver you like with you js Value
if(myPhpValue != ''){
//Do something here
}
Run Code Online (Sandbox Code Playgroud)

这也将完成这项工作:)


Óla*_*age 8

我所看到的是让.js文件通过php解释器运行.哪个我不能推荐.

我建议通过AJAX获取值并让PHP文件将值返回给JS文件.这是一种更清洁的方法.

  • 高超!实际代码的示例将提供100000个单词.请为帖子代码! (6认同)

You*_*nse 5

首先,您必须了解没有程序实际上可以访问其他程序的变量。

当你意识到这一点时,剩下的就很简单了。
您可以在主文件中设置一个 js 变量,然后包含您的外部 js,或者使这个外部 js 动态化,也可以由 PHP 生成