如何在current.js文件中的另一个文件中执行javascript+php?
场景如下:
另一个文件.js
function foo()
{
var a = <?php echo "Hello world !"; ?>
}
当前.js
function show()
{
var b = "Hi,";
// execute javascript (with php code embeded)
require(another-file.js) // <-- this is not work
alert(a + b); // I want result: "Hi, Hello World !"
}
最佳答案
您可以使用 PHP 生成分配给 JS 变量的字符串,如下所示:
var myvar = "<?php echo "Hello World"; ?>";
在您的示例中,您忘记了 PHP 标签周围的引号(在 <?php
之前和 ?>
之后),因此您可能会收到错误,因为 JS 解释器正在寻找名为 Hello
的变量。和World
而不是将“Hello World”视为字符串。
现在我们知道,你不能像在其他语言中那样在 JS 中包含包含内容,人们通常所做的只是使用多个 <script>
标签将多个 JS 包含到页面中。但是,如果由于某种我忽略的原因,你绝对需要将JS包含到另一个JS中,你可以做的是使用jquery的getScript()
,请参阅此处了解更多信息 https://api.jquery.com/jquery.getscript/ :
$.getScript( "another-file.js" )
.done( function() {
alert(a + b);
})
.fail( function() {
console.log("Ooops there was a problem");
});
编辑:正如我在其他评论中所说,您还可以发送 AJAX 查询,然后 eval()
(这就是 getScript()
在幕后所做的),或者您可以使用 ES6 模块,但这超出了本问题的范围。
关于javascript - 运行 Javascript+PHP 形成另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37582245/