首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Javascript字符串调用时PHP逻辑不运行

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

Stack Overflow用户
提问于 2013-06-10 04:38:18
回答 1查看 90关注 0票数 1

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

代码语言:javascript
复制
    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文件中调用这个脚本:

代码语言:javascript
复制
<! --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从未编写过一样。有人知道为什么吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-06-10 05:07:45

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

  1. 将您试图填充到div(customNav)中的html收集到一个php变量(比如$navHtml)中,将逻辑也保留在PHP中,然后在js变量中进行赋值,如下所示:

strVar = "";document.getElementById("customNav").innerHTML= strVar;

  • 将文件的扩展名从js更改为php。

  • 将其包含在脚本标记中,如下所示:
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17013931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档