要使用PHP模板还是jQuery AJAX调用?

eme*_*ava 0 php ajax jquery

这是我index.php页面的一个片段,我在这里显示一个包含三个HTML链接的菜单.

选择一个菜单项定义了页面参数,然后填充PHP模板逻辑<div id="main">.

<div class="span-24" id="menu">
  <table>
    <tr>
      <td><a href="index.php?page=races">Races</a></td>
      <td><a href="index.php?page=runners">Runners</a></td>
      <td><a href="index.php?page=searchRunners">Search</a></td>
    </tr>
  </table>
<br/>
</div>

<!-- main content -->
<div class="span-24" id="main">
<?php 
  $MYROOT=$_SERVER['DOCUMENT_ROOT'];
  if(isset($_GET['page']))
  {
    $page=$_GET['page'];
    @ require_once($MYROOT."/$page.php");
  }
  else
  {
    @ require_once($MYROOT."/races.php");
  }
?>
</div>
Run Code Online (Sandbox Code Playgroud)

这个解决方案工作正常,但我担心随着我添加更多页面并有更多页面参数需要跟踪,这种方法将很难用各种PHP require()/ require_once()方法调用来维护.

我也有jQuery可用,我想知道使用基于AJAX的查询来呈现HTML的好处或缺点是什么<div id="main">.

我认为使用AJAX可能是一个更好的解决方案,因为我可以在我可以调用的页面中有更多的灵活性,以及​​我可以在AJAX调用中传递哪些参数.

我知道PHP和AJAX可以一起使用,但如果你开始这种类型的项目,你会怎么做?

Pao*_*ino 8

你不想这样做.AJAX很好,但除此之外都会误用它.它不仅会不必要地使禁用Javascript的人无法访问该网站(我相信您已经知道),它也会破坏您网站上的网络导航标准.怎么会有人发送链接给朋友看看Races页面呢?我怎样才能在页面之间来回走动?有这方面的解决方法,但它不值得.您更适合重新考虑您的PHP代码,因此它是动态的,同时可以安全地包含您想要的内容.


tj1*_*111 5

为了扩展Paolo所说的内容,Google和其他搜索引擎无法"抓取"通过javascript加载的任何内容.这意味着只有页面上的静态信息才会被编入索引,而您的页面排名将完全不存在.