gpt4 book ai didi

从 Javascript 字符串调用时 PHP 逻辑不运行

转载 作者:行者123 更新时间:2023-11-28 02:11:32 24 4
gpt4 key购买 nike

我目前正在尝试将导航栏放入 JavaScript 文件中,这样我就不需要将整个代码放在每个页面上。导航栏工作得很好......直到我将一些 php 逻辑插入到字符串变量中......这就是我的意思。

    strVar += "             <?php if($_COOKIE['username'] != \"\"){ ?>";
strVar += " <div class=\"stack\">";
strVar += " <ul class=\"nav pull-right\">";
strVar += " ";
strVar += " <li>";
strVar += " <p class=\"navbar-text login\">Logged In as: <\/p>";
strVar += " <\/li>";
strVar += " <li>";
strVar += " <p class=\"navbar-text user\">";
strVar += " <?php echo $_COOKIE['username'];?>";
strVar += " <\/p>";
strVar += " <\/li>";
strVar += " ";
strVar += " <p>";
strVar += " <a href=\"..\/php\/logout.php\">";
strVar += " Logout";
strVar += " <\/a>";
strVar += " | ";
strVar += " <a href=\"#\">Control Panel";
strVar += " <\/a>";
strVar += " <\/p>";
strVar += "";
strVar += " <\/ul>";
strVar += " <\/div>";
strVar += " <?php } ?>";
document.getElementById("customNav").innerHTML= strVar;

我从 .php 文件调用此脚本:

<! --NavBar-->
<header class="row">
<div id="customNav" class="span12">
<script src="js/topNavBar.js" type="text/javascript">
</script>
</div>
</header>
<!--NavBar-->

到目前为止,如果我将 JS 脚本嵌入为正常的 html/php 代码,它的工作完全正常。但是,当我执行上述情况时,它完全忽略 php 代码,但正确显示该栏,就好像从未编写过 php 一样。有谁知道为什么吗?

谢谢

最佳答案

你完全错了。浏览器无法看到任何 php 逻辑,因为它是在服务器上编译并以纯 html(或 javascript)形式发送到浏览器的。另外,您不能在 .js 文件中编写 php 代码。

您可以执行以下操作:

  1. 将您尝试填充到 div(customNav) 中的 html 收集到 php 变量(例如 $navHtml)中,将逻辑也保留在 PHP 中,然后将其分配到 js 变量中,如下所示:

    strVar = "<?php echo $navHTML; ?>";  
    document.getElementById("customNav").innerHTML= strVar;
  2. 将文件扩展名从 js 更改为 php。

  3. 将其包含在脚本标记中,如下所示:

    <?php include_once "topNavBar.php"; ?>

关于从 Javascript 字符串调用时 PHP 逻辑不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17013931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com