在JavaScript代码中使用PHP变量
我试图在Javascript代码中使用PHP变量作为字符串。然而,我没有得到预期的结果 我拒绝使用JQuery,我更喜欢使用纯Javascript,即使它需要更多的工作 这是我的PHP文件: script.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
<?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=”$名字用户。“;”