0

我有一个单页应用程序,在我的 homepage.php 中有这个内联模板:

<script class="layout" type="text/template">
  <header id="top-bar">
    <nav id="user-panel">
      <ul>
        <% if (logged === true) { %>
          <li><a class="logout" href="/logout">Logout</a></li>
          <li><a class="profile" href="/profile">Benvenuto <%= username %></a></li>
        <% } else { %>
          <li><a class="login" href="/login">Login</a></li>
          <li><a class="register" href="/register">Registrati gratis</a></li>
        <% }; %>
      </ul>
    </nav>
  </header>
  <div id="wrapper">
    <section id="mid-bar">
      <a id="logo" href="/"><img src=http://<?php echo $host; ?>/public/img/logo.png></a>
    </section>
    <div id="sub-view"></div>
  </div>
</script>

正如您在我的用户面板导航中看到的那样,我使用 <% 下划线 %> 表示法,但是如果您在我的网站上检查我的源代码,它似乎是我的网络服务器或我真的不知道的东西......处理这些标签......

我还评论了我的 underscore.js 和我的 js 代码,但问题仍然存在......

对不起我的英语不好,我希望你能理解我的问题!

4

1 回答 1

0

您遇到的问题与骨干有关。

错误信息是:Uncaught TypeError: Cannot call method 'extend' of undefined

这意味着您正在尝试将方法扩展应用于未定义的对象。

很难理解你想做什么:你应该解释为什么要使用主干,你想拥有什么。

回答你的问题:你应该做一些逆向工程来找出问题所在以及代码的哪一部分给出了问题。这似乎不是 php 问题,而是 jquery 问题,因此请执行以下操作:

  1. <script>代码放在body标签之后
  2. 删除所有<script>包含
  3. 重新加载页面,看看它是否给出错误
  4. 一一添加<script>包含(以正确的顺序,例如在 jquery 之前不包括主干)并查看哪个是错误的。
于 2013-01-23T13:59:02.120 回答