当从Javascript字符串调用时,PHP逻辑未运行不起作用

当从Javascript字符串调用时,PHP逻辑未运行不起作用,php,javascript,html,Php,Javascript,Html,我目前正在尝试将导航栏封装在javascript文件中,这样我就不需要在每个页面上都放上完整的代码。导航栏工作正常。。。。。直到我在字符串变量中插入了一些php逻辑。。。这就是我的意思 strVar += " <?php if($_COOKIE['username'] != \"\"){ ?>"; strVar += " <div class=\"stack\">"; strVar += "

我目前正在尝试将导航栏封装在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;
strVar+=”;
strVar+=“”;
strVar+=“
    ”; strVar+=“”; strVar+=“
  • ”; strVar+=“

    ”>以:“; strVar+=“”; strVar+=“

  • ”; strVar+=“

    ”; strVar+=“”; strVar+=“”; strVar+=“”; strVar+=“”; strVar+=“”; strVar+=“”; strVar+=“注销”; strVar+=“”; strVar+=“|”; strVar+=“控制面板”; strVar+=“”; strVar+=“”; strVar+=“”; strVar+=“”; strVar+=“”; strVar+=“”; 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代码

以下是您可以做的:

  • 将您试图填充到div(customNav)中的html收集到一个php变量(比如$navHtml)中,将逻辑也保留在php中,然后将其分配到js变量中,如下所示:

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

  • 在脚本标记中包含它,如下所示:

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

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

    以下是您可以做的:

  • 将您试图填充到div(customNav)中的html收集到一个php变量(比如$navHtml)中,将逻辑也保留在php中,然后将其分配到js变量中,如下所示:

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

  • 在脚本标记中包含它,如下所示:

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

  • 你不能那样做。PHP是在服务器上解析的,因此您可以使用稍后获得的内容创建一个JS变量,但您不能这样做,因为您似乎试图在客户端解析PHP你不能那样做。PHP是在服务器上解析的,因此您可以使用稍后获得的内容创建一个JS变量,但您不能这样做,因为您似乎试图在客户端解析PHP