Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript代码中使用PHP变量_Javascript_Php_Variables - Fatal编程技术网

在JavaScript代码中使用PHP变量

在JavaScript代码中使用PHP变量,javascript,php,variables,Javascript,Php,Variables,我试图在Javascript代码中使用PHP变量作为字符串。然而,我没有得到预期的结果 我拒绝使用JQuery,我更喜欢使用纯Javascript,即使它需要更多的工作 这是我的PHP文件: script.php <?php $filename = "./about.txt"; $doc = file_get_contents($filename); echo $doc; ?> <?php $filename = "./about.tx

我试图在Javascript代码中使用PHP变量作为字符串。然而,我没有得到预期的结果

我拒绝使用JQuery,我更喜欢使用纯Javascript,即使它需要更多的工作

这是我的PHP文件: script.php

<?php

    $filename = "./about.txt";
    $doc = file_get_contents($filename);

    echo $doc;

?>
<?php

    $filename = "./about.txt";
    $doc = file_get_contents($filename);

    echo $doc;

?>
<?php
    $filename = "./about.txt";
    $doc = file_get_contents($filename);
    echo "<script>
           function get_about() { 
              document.getElementById("div2").innerHTML = '{$doc}'
            }
          </script>";        
?>
<?php
    $filename = "./about.txt";
    $doc = file_get_contents($filename);
    echo "<script>
           var doc = '{$doc}'//global variable
          </script>";        
?>

它在我的PHP中运行正常

我已经在我的action.js文件中尝试过:

function get_about() {

    var text = "<?php echo $doc ?>";

    document.getElementById("div2").innerHTML = text;
}
函数get_about(){ var text=“”; document.getElementById(“div2”).innerHTML=text; } 我将感谢任何帮助。我是网络编程新手。
我做了一项研究,但没有帮助。

试一试,包括分号

function get_about() {
    var text;

    text = "<?php echo $doc; ?>";

    document.getElementById("div2").innerHTML = text;
}
函数get_about(){ var文本; text=“”; document.getElementById(“div2”).innerHTML=text; } 这里的工作示例

在您的头部部分放置以下代码:

<script type="text/javascript">
    var text = "<?php echo $doc ?>";
</script>
<script type="text/javascript" src="/action.js" />

var text=“”;

现在,您可以在action.js中使用文本值。

对不起,您不能以这种方式混合使用PHP和Javascript

  • 服务器上的PHP生成一个带有javascript的HTML页面
  • 然后浏览器读取页面并运行JAVASCRIPT

因此,PHP不能使用Javascript,反之亦然,Javascript在PHP之后工作,Javascript可以使用PHP。

您不能在Javascript文件中使用PHP变量,因为PHP在服务器上工作,而JS在客户端工作

您可以在PHP文件上生成javascrit代码,并在javascript文件上使用此代码

例:

index.php

<?php
    $nameUser = "Marc";
    ...
    ...
    echo '<script type="text/javascript">';
        echo "var name = $nameUser;";
    echo '</script>';
    echo '<script type="text/javascript" src="/action.js" />'
?>
<?php
  $filename = "./about.txt";
  $doc = file_get_contents($filename);
  echo $doc;
?>
<script type="text/javascript">
  var text = "<?php echo $doc ?>";
</script>
<script src="action.js"></script>
这不是最漂亮的方法,但想法是存在的


希望这对您有所帮助,正如其他人所说,您不能将JS与PHP混合使用。这是客户机/服务器体系结构,两者是分开的

我不知道你的情况,但是如果你是从php打印JS(意思是从同一个.php页面)那么你的方法可能会根据你的需要工作

但是因为你的JS在一个单独的文件上。然后,它将仅在客户端浏览器加载时执行。(这是您想要的吗?)

一旦代码在客户端浏览器上,它就看不到服务器上的内容。从服务器获取一些数据的唯一方法是通过AJAX请求启动一个请求来提取数据(我想还有其他方法,但我仅限于您的情况)

因此,我们有两个案例

案例1:将JS与PHP分离,并将其放在单独的文件中。

示例script.php

<?php

    $filename = "./about.txt";
    $doc = file_get_contents($filename);

    echo $doc;

?>
<?php

    $filename = "./about.txt";
    $doc = file_get_contents($filename);

    echo $doc;

?>
<?php
    $filename = "./about.txt";
    $doc = file_get_contents($filename);
    echo "<script>
           function get_about() { 
              document.getElementById("div2").innerHTML = '{$doc}'
            }
          </script>";        
?>
<?php
    $filename = "./about.txt";
    $doc = file_get_contents($filename);
    echo "<script>
           var doc = '{$doc}'//global variable
          </script>";        
?>
案例2:JS和PHP都位于同一个文件中,这意味着JS将与PHP代码一起打印,并一起发送到客户端浏览器。

方法1:打开javascript标记并将您的js代码放在那里

示例script.php

<?php

    $filename = "./about.txt";
    $doc = file_get_contents($filename);

    echo $doc;

?>
<?php

    $filename = "./about.txt";
    $doc = file_get_contents($filename);

    echo $doc;

?>
<?php
    $filename = "./about.txt";
    $doc = file_get_contents($filename);
    echo "<script>
           function get_about() { 
              document.getElementById("div2").innerHTML = '{$doc}'
            }
          </script>";        
?>
<?php
    $filename = "./about.txt";
    $doc = file_get_contents($filename);
    echo "<script>
           var doc = '{$doc}'//global variable
          </script>";        
?>

我知道这是一个3个月前的问题,但我遇到了它,并认为我可以提供一些有用的东西

如果要将此变量传递给JS脚本,则以下代码将起作用:

script.php

<?php
    $nameUser = "Marc";
    ...
    ...
    echo '<script type="text/javascript">';
        echo "var name = $nameUser;";
    echo '</script>';
    echo '<script type="text/javascript" src="/action.js" />'
?>
<?php
  $filename = "./about.txt";
  $doc = file_get_contents($filename);
  echo $doc;
?>
<script type="text/javascript">
  var text = "<?php echo $doc ?>";
</script>
<script src="action.js"></script>
解释

大多数采用标准配置的服务器不处理
.js
文件,因此,任何非
.php
文件的处理方式与
.php
文件相同。除非您设置了一些自定义配置,否则无法将
放入
script.js
中。因此,在您给出的代码中,javascript变量
text
的值等于字符串
“”

幸运的是,使用脚本的唯一方法不是使用外部脚本,而是可以使用带有
标记的内联脚本。PHP解释器将遍历
.PHP
文件中的任何代码,并查找这些代码-
,然后对它们进行解释,这就是
PHP
文件中的内联脚本的工作方式。

只需使用:

var text=;

请告诉我们您看到的输出以及预期输出是什么?如果不知道你在寻找什么,就没有办法提供帮助了?如果它位于一个名为action.js的文件中,我假设web服务器没有像解析.PHP文件那样解析.js文件。顺便说一句,你为什么拒绝使用jQuery?我认为jQuery更适合高效的程序员。jQuery仍然是Javascript,它只是让编写好的Javascript代码变得更容易。另外,我刚刚点击了我发布的链接……你如何声称这是jquery的?这个问题中的所有代码都是纯javascript…每个php/html文件中要使用值的部分请停止混淆@Telmo Vaz脚本的位置,只需回答这个问题。这就是答案。。对于placement.Sir@MarkRijsmus,我不同意,我测试了这个脚本,它运行正常。问题是让脚本工作起来,而不是放在哪里。因此,请删除您的评论,因为它具有误导性。您的示例之所以有效,是因为JS在同一个PHP文件中,而听起来询问者的JS在一个名为action.JS的单独文件中。他还提到,他是web编程新手,希望获得预期的结果(值)在这种情况下,这就是一个例子,以及如何使用带有分号的函数来表示phpVery true。添加或链接到一个完整的解释,解释为什么原稿不起作用,为什么你的不起作用,我会投票给你。(顺便说一句,分号在那里,尽管这可能是一个很好的做法。)Asker需要学习,所以要教。:-)行
var name=$nameUser
会将
name
的值设置为
$nameUser
,这可能会在浏览器中引发错误,因为这不是有效的Javascript文本。您需要将其更改为
echo“var name=”$名字用户。“;”