[英]Include PHP variables directly into js files
我想使用 js 代码,它适用于 php 变量。 我现在的情况:
mainFile.php
<?
$myPHPvar = 1234;
?>
<html>
<body>
MY CONTENT
<script>
var myJSvar = <? echo $myPHPvar; ?>
</script>
<script src="myFile.js"></script>
</body>
</html>
我的文件.js
// Here some js code where I access the myJSvar, which was set by $myPHPvar before
console.log(myJSvar);
这行得通。 但我想改变这种结构。 我想将 myJSvar 定义从主文件移到 jsFile 中。
但是如果我移动这一行var myJSvar = <? echo $myPHPvar; ?>
var myJSvar = <? echo $myPHPvar; ?>
var myJSvar = <? echo $myPHPvar; ?>
进入 myFile.js 它将不起作用,因为这不是 php 文件。
不是我认为这可能是一个解决方案:
我将 myFile.js 重命名为 myFile.php 并更改代码如下:
// 这里是我访问 myJSvar 的一些 js 代码,它是之前由 $myPHPvar 设置的
<script>
var myJSvar = <? echo $myPHPvar; ?>
console.log(myJSvar);
</script>
在 mainFile.php 中,我将<script src="myFile.js"></script>
更改为include('myFile.php');
这行得通!
但是:第一个问题:这样做是个好主意吗? 第二:现在的“问题”:我所有的文件现在都是 php 个文件,也是文件,主要包括 js 代码。 这不是很漂亮,因为现在我在第一个视图上看不到哪个是 js 文件,哪个是 php 文件。
感谢您的支持 !
使用 PHP,将值回显到页面上隐藏的 HTML 字段。
当您知道页面已完成加载时,请使用 JavaScript 将它们读回。
Note, Ideally, you'd just make the data a separate AJAX/xhr/fetch call to a URL (JSON or XML formatted data is nice for this), but as a stop-gap, hidden fields will do the trick for basic PHP页。
同样,您可以回显一些内联 JavaScript(标签和所有)并在其他地方引用变量。 这种方法会起作用,但通常被称为“意大利面条代码”,因为交织在一起的前端 (JavaScript) 和后端 (PHP) 代码使得调试变得棘手,并且不能很好地扩展到更大的代码项目......数月或数年之后,开发人员会发现自己在代码的位置、生成方式、新代码应该放置的位置等问题上摸不着头脑。
从技术上讲,这是可能的,但在标准使用中,不建议这样做。 为什么需要 PHP 来设置变量的值? 如果数据来自数据库,您可以考虑使用 ajax。 这样您就可以将后端文件保存在其他地方。
你可以这样做。 它并没有什么真正的问题。 您必须以某种方式将数据带到客户端浏览器。 您可以这样做: 1. 在 DOM 中设置 php 变量 2. XHR 调用或 3. cookies
这可以通过动态生成 JS 文件来实现...您可以创建一个 PHP 文件,该文件将动态生成 JS,例如:
注意:强烈不推荐使用此方法。 这仅供您参考和了解。
myFile.php(JS 等效文件)
console.log(123)
您的 HTML 文件
<script type="text/javascript" src="a.php"></script>
但强烈不建议这样做,因为 JS 文件是可以缓存的 static 资源。 使用此方法将在每次页面加载时请求 JS 文件(只有在第一次加载时才会传输它的静态文件)。
最好的方法是将动态变量保留在 HTML 中,然后包含将使用这些变量的 static JS 文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.