运行Javascript+;PHP形成另一个文件

运行Javascript+;PHP形成另一个文件,javascript,php,jquery,Javascript,Php,Jquery,如何在当前.js文件的另一个文件中执行javascript+php 情况如下: 另一个-file.js function foo() { var a = <?php echo "Hello world !"; ?> } 函数foo() { 变量a= } current.js function show() { var b = "Hi,"; // execute javascript (with php code embeded) require(a

如何在当前.js文件的另一个文件中执行javascript+php

情况如下:

另一个-file.js

function foo()
{
    var a = <?php echo "Hello world !"; ?>
}
函数foo()
{
变量a=
}
current.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 !"
}
函数显示()
{
var b=“嗨,”;
//执行javascript(嵌入php代码)

require(另一个文件.js)//这里有几处地方不对劲

  • 不能在JavaScript文件中执行PHP代码。PHP是服务器端语言,JavaScript(传统上)是客户端语言。不能使用JavaScript解释器执行PHP代码,反之亦然
  • 您不能包含来自另一个JavaScript文件的JavaScript文件。相反,您必须在网页上包含这两个脚本,如下所示:

    
    函数fromfile1();
    函数fromfile2();
    

  • 我觉得这里有一个需要解决的问题。

    这里有几件事不对

  • 不能在JavaScript文件中执行PHP代码。PHP是服务器端语言,JavaScript(传统上)是客户端语言。不能使用JavaScript解释器执行PHP代码,反之亦然
  • 您不能包含来自另一个JavaScript文件的JavaScript文件。相反,您必须在网页上包含这两个脚本,如下所示:

    
    函数fromfile1();
    函数fromfile2();
    

  • 我觉得这里有一个需要解决的问题。

    您可以使用PHP生成分配给JS变量的字符串,如下所示:

    var myvar = "<?php echo "Hello World"; ?>";
    

    编辑:正如我在其他评论中所说,您也可以发送一个AJAX查询,然后
    eval()
    (这是
    getScript()
    在幕后所做的),或者您可以使用ES6模块,但这超出了这个问题的范围。

    您可以使用PHP生成分配给JS变量的字符串,如下所示:

    var myvar = "<?php echo "Hello World"; ?>";
    


    编辑:正如我在其他评论中所说,您也可以发送一个AJAX查询,然后
    eval()
    (这就是
    getScript()
    在幕后所做的),或者您可以使用ES6模块,但这超出了这个问题的范围。

    您到底想实现什么?您的最终目标是什么?JavaScript在浏览器(客户端)上运行鉴于服务器上的PHP。目前我正在加入开发一个旧项目,其中有一个案例要求我们解决一个问题,必须遵循上述场景。我知道,这相当奇怪(客户端与服务器脚本,应该用Ajax或JQuery解决)。你到底想实现什么?你的最终目标是什么?JavaScript在浏览器上运行(客户端)而PHP在服务器上。目前我正在加入开发一个旧项目,其中有一个案例要求我们解决一个问题必须遵循上述场景。我知道,这相当奇怪(我知道应该用Ajax或JqueryYes解决的客户端与服务器脚本问题。实际上,这是在一个旧项目中,我看到有一种情况,php代码嵌入到javascript代码中,并且可以正常工作。类似于此snipe代码:name:'ITEM',data:[,],stack:'inti'您实际上可以将一个JS文件包含到另一个JS文件中,尽管它不像其他语言那样简单。您可以使用JQuery的
    getScript()
    eval()
    由AJAX请求返回的脚本。此外,ES6提供了可以导入的模块。是的,正如我们在本主题中所看到的:。但是,如果您选择AJAX路径(或使用AJAX的
    getScript
    ),它只执行javascript代码它还将在JS代码中执行PHP是的,我知道。实际上这是在一个旧项目中,我看到有一些情况下,PHP代码嵌入到javascript代码中,并且可以正常工作。类似于这个snipe代码:name:'ITEM',data:[,],stack:'inti'您实际上可以将一个JS文件包含到另一个JS文件中,尽管它不像其他语言那样简单。您可以使用JQuery的
    getScript()
    eval()
    由AJAX请求返回的脚本。此外,ES6提供了可以导入的模块。是的,正如我们在本主题中所看到的:。但是,如果您选择AJAX路径(或使用AJAX的
    getScript
    ),它只执行javascript代码它还将在JS代码中执行PHP谢谢mastazi提醒我有关报价,但实际上这不是我的问题,它只是一个概念来解释我的真正问题。那么我恐怕不明白你的“真正问题”是什么如果您谈到
    require
    在JS中不起作用,那么我将编辑答案。我真正的问题是如何加载javascript代码(其中有一个被剪掉的php代码)在x.js文件中,因此可以在z.js文件中运行。请注意我回答中的粗体文本:我认为这很明显,但我想强调的是“正常”方法是在HTML中使用多个脚本标记。谢谢mastazi提醒我引用,但实际上这不是我的问题,这只是一个解释我真正问题的概念。那么我恐怕不明白你的“真正问题”是什么如果您谈到
    require
    在JS中不起作用,那么我将编辑答案。我真正的问题是如何加载javascript代码(其中有一个被剪掉的php代码)在x.js文件中,所以它可以在z.js文件中运行。请注意我回答中的粗体文本:我认为这是显而易见的,但我想强调的是,“正常”的做法只是在HTML中使用多个脚本标记。